在Python中从JSON文件读取目录

时间:2018-11-07 00:41:27

标签: json python-3.x

尝试从包含目录的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)

我为这个问题重新编写了代码,因此上面的值不正确。

2 个答案:

答案 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)