这正是你应该期待的,我不知道为什么它不是你想要的。记住,print命令返回一个变量的表示,例如print('\"')给出{}。在
通过您的示例,您可以看到在输出结果时如何将转义字符取回:import json
a = r"""{
"version": 1,
"query": "occasionally I \"need\" to escape \"double\" quotes"
}"""
j = json.loads(a)
print j
print json.dumps(j)
这给了我:
^{pr2}$
(请原谅Python2)
根据您的编辑:
'{}'.format(file['query']) == file['query']返回True-您正在将字符串对象格式化为字符串。正如我所建议的,使用json.dumps(file['query'])
退货"occasionally I \"need\" to escape \"double\" quotes"
顺便说一句,这是一个字符串:'"occasionally I \\"need\\" to escape \\"double\\" quotes"'
您的“实际查询”也是如此:query = '"\\"dat