字典内容写入json时,需要用json.dumps将字典转换为字符串,然后再写入。
(推荐教程:Python入门教程)
json也支持格式,通过参数indent可以设置缩进,如果不设置的话,则保存下来会是一行。
举例:
无缩进:
from collections import defaultdict, OrderedDict import json video = defaultdict(list) video["label"].append("haha") video["data"].append(234) video["score"].append(0.3) video["label"].append("xixi") video["data"].append(123) video["score"].append(0.7) test_dict = { 'version': "1.0", 'results': video, 'explain': { 'used': True, 'details': "this is for josn test", } } json_str = json.dumps(test_dict) with open('test_data.json', 'w') as json_file: json_file.write(json_str)
有缩进:
from collections import defaultdict, OrderedDict import json video = defaultdict(list) video["label"].append("haha") video["data"].append(234) video["score"].append(0.3) video["label"].append("xixi") video["data"].append(123) video["score"].append(0.7) test_dict = { 'version': "1.0", 'results': video, 'explain': { 'used': True, 'details': "this is for josn test", } } json_str = json.dumps(test_dict, indent=4) with open('test_data.json', 'w') as json_file: json_file.write(json_str)