如何在没有转义斜杠的情况下将字典放入JSON

时间:2016-11-29 19:34:10

标签: python json python-3.x dictionary escaping

我不确定我做错了什么。我有一个字典,我想转换为JSON。我的问题是逃脱\

如何在没有escape \

的情况下将字典放入JSON

这是我的代码:

def printJSON(dump):
    print(json.dumps(dump, indent=4, sort_keys=True))

data = {'number':7, 'second_number':44}
json_data = json.dumps(data)
printJSON(json_data)

输出是:     " {\" second_number \":44,\" number \":7}"

我希望输出看起来像这样:     " {" second_number":44," number":7}"

1 个答案:

答案 0 :(得分:11)

原因是您要两次转储JSON数据。一旦外面的功能和另一个内部。供参考:

>>> import json    
>>> data = {'number':7, 'second_number':44}

# JSON dumped once, without `\`
>>> json.dumps(data)
'{"second_number": 44, "number": 7}'

# JSON dumped twice, with `\`
>>> json.dumps(json.dumps(data))
'"{\\"second_number\\": 44, \\"number\\": 7}"'

如果打印两次转储的数据,您将看到当前所获得的数据,即:

>>> print json.dumps(json.dumps(data))
"{\"second_number\": 44, \"number\": 7}"