如何在python中处理json文件中的\n

Fer*_*eña 2 python json

所以我尝试读取这样的 json 文件:

{
      "Name": "hello",
      "Source": " import json \n x= 10, .... "
 }
Run Code Online (Sandbox Code Playgroud)

我尝试使用 python 中的 json 库来读取它的方式,因此我的代码看起来像这样:

import json

input =''' {
      "Name": "python code",
      "Source": " import json \n x= 10, .... "
 }'''

output = json.load(input)

print(output)
Run Code Online (Sandbox Code Playgroud)

源有无效字符“\n”的问题。我不想用 \n 替换 \n,因为这是代码稍后将在另一个程序中运行。我知道 json.JSONDecoder 能够处理 \n 但我不知道如何使用。

Bar*_*mar 5

您需要转义字符串中的反斜杠input,以便按字面意思理解。

import json

input =''' {
      "Name": "python code",
      "Source": " import json \\n x= 10, .... "
 }'''

output = json.loads(input)
print output
Run Code Online (Sandbox Code Playgroud)

另外,您应该使用json.loads解析字符串中的 JSONjson.load来从文件中获取它。

请注意,如果您实际上是从文件或 URL 获取 JSON,则无需担心这一点。仅当反斜杠位于程序中的字符串文字中时,反斜杠对 Python 才具有特殊含义,而从其他地方读取时则不具有特殊含义。