JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式, 易于阅读和编辑.
使用JSON函数之前需要导入json
库: import json
json.dumps
该函数用于将dict
类型的数据转换成str
, 这是因为我们不能直接将字典类型的数据写入到文件中, 因此需要先将其转换成字符串才能进行写入
函数原型:1
2
3json.dumps(obj, skipkeys=False, ensure_ascii=True, check_circular=True,
allow_nan=True, cls=None, indent=None, separators=None,
encoding="utf-8", default=None, sort_keys=False, **kw)
示例:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15json_dict = {
"info": {
"contributor": 'xxx',
'year': 2019
},
'license': 'xxx',
'images': [{}, {}, {}],
'anotations': [{}, {}, {}],
'categories': [{}, {}],
}
json_str = json.dumps(json_dict)
json_save_path = 'test.json'
with open(json_save_path, 'w') as json_file:
json_file.write(json_str)
json.loads
json.loads()
用于将str
类型的数据转换成dict
, 注意是字符串数据, 而不是文件
json.dump
json.dump()
用于将 dict
类型的数据之间转换成str
并写入到 json 文件中, 例如, 下面两种写入方式是等价的
1 | json_dict = {'a': 123, 'b': 456} |
json.load
可以解析json文件, 之后可以像使用字典一样进行操作.
假如 json file 内容如下所示:1
2
3
4
5
6
7
8
9
10{
"info": {
"contributor": 'xxx',
'year': 2019
},
'license': {},
'images': [{}, {}, {}, ...],
'anotations': [{}, {}, {}, ...],
'categories': [{}, {}, ...],
}
1 | json_file_path = os.path.abspath('test.json') |