我有一个词典列表,如何使用JSON每个字典一行转储它?
我试过了:
json.dump( d, open('./testing.json','w'), indent=0)
其中d是词典列表。但这会对每个(键,值)对进行换行。我希望每行字典在一行中。我该怎么做?
谢谢
答案 0 :(得分:6)
在将其写出之前,您可以将其转换为具有该格式的字符串。这可以通过列表理解和连接的组合来完成:
strs = [json.dumps(innerdict) for innerdict in d]
s = "[%s]" % ",\n".join(strs)
open('./testing.json','w').write(s)
在一行中:
open('./testing.json','w').write("[%s]" % ",\n ".join(json.dumps(e) for e in d))
或:
open('./testing.json','w').write("[%s]" % ",\n ".join(map(json.dumps, d)))