Python json 模块dumps、dump、loads、load的使用


本文主要讲下json.dumps和json.dump、json.loads和json.load的区别,因为经常需要加载json文件,读取数据,傻傻分不清…


Python json 模块dumps、dump、loads、load的使用
ison.dumps


json.dumps将python对象格式化成json字符.


1str={'article':'中华人民共和国共和国万岁','tag':'中国共产党万岁'}
2# 将python对象格式化成json字符串
3encoded_json=json.dumps(str,ensure_ascii=False)
4print(encoded_json,type(encoded_json))


输出如下:


1{"article""中华人民共和国共和国万岁""tag""中国共产党万岁"} <class 'str'>
Python json 模块dumps、dump、loads、load的使用
json.loads


json.loads将json字符串解码成python对象


1# 将json字符串解码成python对象
2decode_json=json.loads(encoded_json)
3print(decode_json,type(decode_json))


输出如下:


1{'article''中华人民共和国共和国万岁''tag''中国共产党万岁'} <class 'dict'>


Python json 模块dumps、dump、loads、load的使用
json.dump


json.dump主要用来将python对象写入json文件


1# json.dump主要用来将python对象写入json文件
2f = open('demo.json','w',encoding='utf-8')
3json.dump(decode_json,f,ensure_ascii=False)
4f.close()


结果如下:


Python json 模块dumps、dump、loads、load的使用

Python json 模块dumps、dump、loads、load的使用
json.load

json.load加载json格式文件,返回python对象


1# json.load加载json格式文件,返回python对象
2f = open('demo.json','r',encoding='utf-8')
3data = json.load(f)
4print(data,type(data))
5f.close()


输入如下:


1{'article''中华人民共和国共和国万岁''tag''中国共产党万岁'} <class 'dict'>


Python json 模块dumps、dump、loads、load的使用
完整代码

 1import json
2
3str={'article':'中华人民共和国共和国万岁','tag':'中国共产党万岁'}
4# 将python对象格式化成json字符串
5encoded_json=json.dumps(str,ensure_ascii=False)
6print(encoded_json,type(encoded_json))
7
8# 将json字符串解码成python对象
9decode_json=json.loads(encoded_json)
10print(decode_json,type(decode_json))
11
12# json.dump主要用来将python对象写入json文件
13f = open('demo.json','w',encoding='utf-8')
14json.dump(decode_json,f,ensure_ascii=False)
15f.close()
16
17# json.load加载json格式文件,返回python对象
18f = open('demo.json','r',encoding='utf-8')
19data = json.load(f)
20print(data,type(data))
21f.close()