本文主要讲下json.dumps和json.dump、json.loads和json.load的区别,因为经常需要加载json文件,读取数据,傻傻分不清…
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'>
json.loads将json字符串解码成python对象
1# 将json字符串解码成python对象
2decode_json=json.loads(encoded_json)
3print(decode_json,type(decode_json))
输出如下:
1{'article': '中华人民共和国共和国万岁', 'tag': '中国共产党万岁'} <class 'dict'>
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()
结果如下:
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'>
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()