Json 模块
全称‘JavaScript Object Notation’(JavaScrip对象表示法)它是一种基于文本,独立与语言的轻量级数据交换格式。以易于阅读的文字为基础,用来传输由属性值或者序列性的值组成的数据对象(键值对)
Js官网 https://www.json.org/
语法规则
- 数据由键值对组成
- 键值对由逗号分离
- 大括号里保存对象
- 中括号里保存数组
目前互联网开发前后端数据交互使用的基本都是json
方法
python和js的类型区别
Python | Json |
---|---|
字典 dict | 对象class |
列表list或元组tuple | 数组 |
字符串str | 字符串 |
整型int和浮点float | 数字 |
布尔True和False | true或false |
None | null |
JsonAPI
json.dumps(obj) | 将python数据转化为json格式的数据 |
json.loads(s) | 将json数据转化为python格式的数据 |
json.dump(obj,fp) | 将python数据转化为json格式的数据并保存到文件中 |
json.load(fp) | 从文件中读取json数据并转换为python格式的数据 |
使用前需要导包
import json
-
json.dumps(obj) 将python数据转化为json格式的数据
dict1 = {'name':'yuxuan','age':15,'sex':'男'} res1 = json.dumps(dict1) #res1为dict1转换为json数据后的结果 #indent 缩进显示 res1 = json.dumps(dict1,indent=2) #数据缩进两行显示,如下 res1 = { "name":"yuxuan", "age":15, "sex":"男" } #ensure_ascii 如果不加入ensure_ascii=False 中文数据会以ASCII显示 #所以最终写法如下 res1 = json.dumps(dict1,indent=2,ensure_ascii=False)
-
json.loads(s) 将json数据转化为python格式的数据
# 将刚刚转换为json格式的res1转换为python格式数据 res2 = json.loads(res1)
-
json.dump(obj,fp) 将python数据转化为json格式的数据并保存到文件中
#dump有两步操作 1 将python数据转换为json 2将json数据保存到文件中 with open('json.txt','w+') as f: json.dump(dict1,ensure_ascii=False,fp=f) #将字典dict1的数据转换为json格式,并写入到文件json.txt中
-
json.load(fp) 从文件中读取json数据并转换为python格式的数据
with open('json.txt','r+') as f: res3 = json.load(fp=f) #将json.txt文件中json的数据读取出来,然后转换为python字典格式,res3用来接受得到的python数据