好的,我可以使用OrderedDict了json.dump.也就是说,OrderedDict可以用作JSON的输入.
但它可以用作输出吗?如果是这样的话?在我的情况下,我想load进入OrderedDict,这样我就可以保持文件中键的顺序.
如果没有,是否有某种解决方法?
我正在尝试更新现有的Json文件,但由于某种原因,请求的值没有被更改,但是整个值集(带有新值)被附加到原始文件
jsonFile = open("replayScript.json", "r+")
data = json.load(jsonFile)
tmp = data["location"]
data["location"] = "NewPath"
jsonFile.write(json.dumps(data))
Run Code Online (Sandbox Code Playgroud)
结果是:必需:
{
"location": "NewPath",
"Id": "0",
"resultDir": "",
"resultFile": "",
"mode": "replay",
"className": "",
"method": "METHOD"
}
Run Code Online (Sandbox Code Playgroud)
实际:
{
"location": "/home/karim/storm/project/storm/devqa/default.xml",
"Id": "0",
"resultDir": "",
"resultFile": "",
"mode": "replay",
"className": "",
"method": "METHOD"
}
{
"resultDir": "",
"location": "pathaaaaaaaaaaaaaaaaaaaaaaaaa",
"method": "METHOD",
"className": "",
"mode": "replay",
"Id": "0",
"resultFile": ""
}
Run Code Online (Sandbox Code Playgroud)