【发布时间】:2017-08-21 07:54:35
【问题描述】:
read.json 文件:
{
"Username" : "admin",
"Password" : "admin",
"Iterations" : 5,
"Decimal" : 5.5,
"tags" : ["hello", "bye"],
"Value" : 5
}
program.py 文件:
import json
with open('read.json') as data_file:
data = json.load(data_file)
data = str(data)
data.replace("'",'""',10)
f = open("write.json", "w")
f.write(data)
write.json 文件:
{'Username': 'admin', 'Password': 'admin', 'Iterations': 5, 'Decimal': 5.5, 'tags': ["hello", "bye"], 'Value': 5}
我想要达到的目标:
- 从 read.json 文件中读取 JSON 数据
- 在我的程序中解析和修改 JSON 中的一些值
- 写入另一个 write.json 文件(JSON 格式)
我的代码没有错误,但是 write.json 不包含双引号 ("") 中的值,而是包含在单引号中的值,使其不是正确的 JSON 格式。
需要进行哪些更改才能使 write.json 文件包含正确的 JSON 格式以及对 write.json 文件的“漂亮写入”。
【问题讨论】:
-
您应该修改从
json.load()调用收到的data(将是dict),并使用json.dump()将其写回文件。无需在两者之间使用str()。 -
你的 json 看起来不错(我从我这边检查),只需将
json.load(data)更改为json.loads(data) -
@quamrana 你是对的
loads()需要 str 不是文件.json