尝试从包含目录的JSON文件中读取数据,但不幸的是,该目录中包含转义字符。
请参阅下面的代码和JSON文件。
config.json
{
"src": "C:\Users\tom",
"dst": "output"
}
run.py
import os
import json
# Set config
with open('config.json') as json_data_file:
data = json.load(json_data_file)
src = data["src"]
dst = data["dst"]
我收到的错误如下:
json.decoder.JSONDecodeError:预期值:第2行第11列(字符15)
我为这个问题重新编写了代码,因此上面的值不正确。
答案 0 :(得分:0)
JSON要求您转义反斜杠,因此只需用\
中的\\
替换每个config.json
。
答案 1 :(得分:0)
在解析之前,我会用double替换单个反斜杠,然后将double替换成single:
导入json
with open('config.json') as fileobj:
raw = fileobj.read().replace('\\', '\\\\')
data = json.loads(raw)
src = data['src'].replace('\\\\', '\\')
dst = data['dst'].replace('\\\\', '\\')
print(src)
print(dst)