Question: I have created a inputjson variable and then replacing "'" to '\a"' and creating a dictionary and assigning to json key but the output of newjson variable and dictionary key value is different. In dictionary output / is replaced by //. Can anyone help me with the reason behind this issue.

```
inputjson = {"project_path": "Store_Execution_Analytics/DSCI/Tech","project_path_pqm": "Store_Execution_Analytics/DSCI/Tech/","project_path_powerbi": "Store_Execution_Analytics/DSCI/Tech","input_db_name": "rtm_storeexecution_pqm"}
print("The existing json value is: " + str(inputjson))

newjson = str(inputjson).replace(r"'", r'\a"')
print("The new json value is: " + str(newjson))
dict1={}
dict1['json'] = newjson
print(dict1)

```

[![output](https://i.stack.imgur.com/2QWwq.png)](https://i.stack.imgur.com/2QWwq.png)

```
inputjson = {'gen': 'UAT', 'gen2': 'eu', 'json': '{"project_path": "Store_Execution_Analytics/DSCI/Tech","project_path_pqm": "Store_Execution_Analytics/DSCI/Tech/"}'}

```

How can I acheive below output in python?

```
output = {'gen': 'UAT', 'gen2': 'eu', 'json': '{\a"project_path\a": \a"Store_Execution_Analytics/DSCI/Tech\a",\a"project_path_pqm\a": \a"Store_Execution_Analytics/DSCI/Tech/\a"}'}

```

Answer: 
In python, the `\` character is used to escape characters that otherwise have a special meaning, such as newline `\n`, backslash itself `\\`, or the quote character `\'\"`. See more at <https://docs.python.org/3/reference/lexical_analysis.html#string-and-bytes-literals>.

Now in the first print (i.e. `print("The new json value is: " + str(newjson))`), you pass a string to the `print` function. The `print` function then displays the string in the console with the escaped characters resolved (a newline char will appear as a true line separator instead of the `\n` character, etc.).

In the second print (i.e. `print(dict1)`), the concerned string is a key in the dictionary `dict1`. Printing a dictionary does not resolve escape characters as it prints the [`repr`esentation](https://docs.python.org/3/library/functions.html#repr) of its keys and values. This is why you see the `\\` escaped.
This happens because you're putting the string into a dictionary and then printing the entire dictionary. In order for python to represent the dictionary value correctly it has to escape the `\a`'s. You'll see though if you print the value specifically associated with the `json` key in `dict1` it prints as expected.

```
inputjson = {"project_path": "Store_Execution_Analytics/DSCI/Tech","project_path_pqm": "Store_Execution_Analytics/DSCI/Tech/","project_path_powerbi": "Store_Execution_Analytics/DSCI/Tech","input_db_name": "rtm_storeexecution_pqm"}
print("The existing json value is: " + str(inputjson))

newjson = str(inputjson).replace(r"'", r'\a"')
print("The new json value is: " + str(newjson))
dict1={}
dict1['json'] = newjson
print(dict1['json']) // this prints as expected

```

Here's an example of this working. <https://www.mycompiler.io/view/GmTFEYm>