我使用这段代码将一个dict
格式化输出为JSON:
import json
d = {'a': 'blah', 'b': 'foo', 'c': [1,2,3]}
print json.dumps(d, indent = 2, separators=(',', ': '))
输出:
{
"a": "blah",
"c": [
1,
2,
3
],
"b": "foo"
}
这有点过了(每个列表元素都要换行!)。
使用哪种语法可以得到这个结果:
{
"a": "blah",
"c": [1, 2, 3],
"b": "foo"
}
改为什么?
load
回到dict
中时,如果它是一个字符串,我就无法再访问list
了(或者我需要将字符串解析成列表,但这很糟糕,不应该这样做...) - BasjJSONEncoder
类直接进行子类化或甚至猴子补丁都无法满足您的要求,因此似乎没有合理的方法来完成这个任务。因此,您可能需要像@Shan Valleru建议的那样编写自己的代码。 - martineau