1.前言
json是一种轻量级的数据交换格式,它是JavaScript的子集,易于人阅读和编写。
前端和后端进行数据交互,其实就是JS和Python进行数据交互.
接口间或者前后端间的语言不一致,不同的语言数据类型是不一样的,所以就导致你提交的数据,别的开发语言无法识别,这就需要规范传输的数据(传输的数据都是一个字符串),大家都遵循一个规范,按一个标准的格式去传输,于是就有就json这种国际化规范的数据类型。
json本质上还是字符串,只是按key:value这种键值对的格式来的字符串
2.python数据类型与json数据类型的映射关系
Python | Json |
---|---|
dict | object |
list, tuple | array |
str, unicode | string |
int, long, float | number |
True | true |
False | false |
None | null |
3.处理json数据的几个常用方法
方法 | 详情 |
---|---|
json.loads() | string转换成dict |
json.dumps() | dict转换成string |
json.load() | 是将里json格式字符串转化为dict,读取文件 |
json.dump() | 是将dict类型转换为json格式字符串,存入文件 |
4.应用举例
4.1 json.dumps(), 将 python 对象转换成 json字符串对象
import json
dic1 = {
"code": "00",
"descEn": "approved or completed successfully",
"descZh": "承兑或交易成功",
"outOrderNumber": "300026",
"time": "2021-01-08 15:30:13",
"type": "SYNC_COMMON_RESPONSE"
}
json_object1 = json.dumps(dic1)
print(json_object1)
print(type(json_object1)) # 类型是str
4.2 json.loads() 将json字段串对象转换成python dict对象
print(json.loads(json_object1))
print(type(json.loads(json_object1))) #类型是dict
4.3 json.dump() 将json字符串对象写进json文件
str1 = '{sex:"女","name":"sophia"}'
with open('1.json','w+',encoding='utf-8') as f:
json.dump(str1,f)
4.4 json.load() 将json文件对象读取解析成python dict对象
with open('file.json','r+',encoding='utf-8') as f:
json_object = json.load(f)
print(type(json_object)) # 类型是dict
后续封装一个方法进行str到dict之间相互转换,以及读写json文件内容,并且读取某个指定字段的值