介绍:
使用 JSON 函数需要导入 json 库:import json
json.dumps 将 Python 对象编码成 JSON 字符串
json.loads 将已编码的 JSON 字符串解码为 Python 对象
json.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)
# 案例:
print(json.dumps({'a': 'Runoob', 'b': 7}, sort_keys=True, indent=4, separators=(',', ': ')))
json与python的相互解码应用:
(也就是str与dict的相互解码)
需求:
1指定python编码对象转为json格式,并保存在文件中。
2将文件中json编码格式转换为python编码格式。
1实现转义为json格式
import json
d = {'key%s' % (i): 'value%s' % (i) for i in range(1000)}
jsonStr = json.dumps(d) # python对象编码成为json的数据格式;
print(jsonStr, type(jsonStr))
# python对象编码为json格式, 并保存到指定文件中;
with open('doc/test01.json', 'w') as f:
# indent: 是否设置缩进; sort_keys: 是否对key值进行排序;
# separators = {"每个元素之间的分隔符", “key和value值之间的分隔符”}
json.dump(d, f, indent=4, sort_keys=True, separators=(',', ': '))
# 保存到文件用dump函数
# def dump(obj, fp, *, skipkeys=False, ensure_ascii=True, check_circular=True,
# allow_nan=True, cls=None, indent=None, separators=None,
# default=None, sort_keys=False, **kw):
输出:
可以看见最后类型是str,是json类型。
生成的doc/test01.json文件
2将文件中json编码格式转换为python编码格式。
# json对象(存储在json文件)解码成为python的数据格式;
with open('doc/test01.json') as f:
pythonObj = json.load(f)
print(pythonObj, type(pythonObj))
可以看见生成的是python字典类型。