python json可以通过json函数进行数据的解码和编码,转换为python对象数据或者json字符串数据
引用 import json包
1、json.dumps —— 将python数据类型「编码」成json数据类型 (data为字典类型)
2、json.loads ——将json数据类型「解码」成python数据类型
3、json.dump ——处理『文件存储』写入的python数据类型「编码」成json数据类型
4、json.load ——处理『文件存储』读取json数据类型「解码」成python数据类型
主要区别:1、loads,dumps处理非文件存储的数据
2、load, dump处理文件存储的数据
eg1:json.loads 将python数据类型编码为json字符串类型
# eg1:json.dumps将python对象编码成json数据
import json
data = {
'name' : 'ACME',
'shares' : 100,
'price' : 542.23
}
json_str = json.dumps(data)
# eg2:json.loads json -> python 将json编码的数据转换成python数据类型
data = json.loads(json_str)
# eg3:json.dump将文件存储的python数据编码为json数据
# Writing JSON data
with open('data.json', 'w') as f:
json.dump(data, f)
eg4:json.load将文件存储的json数据解码为python数据
# reading JSON data
with open('data.json', 'r') as f:
json.load(data, f)
拓展:
python还可以引用第三方库demcode,进行python数据类型到json的转换
encode:python数据转换成json数据
decode:json数据转换成python数据
# eg1、python编码成json encode
import Demjson
data = [ { 'a' : 1, 'b' : 2, 'c' : 3, 'd' : 4, 'e' : 5 } ]
json = demjson.encode(data)
# eg2、json解码成python对象 decode
data = demjson.decode(json)