一、JSON数据
1、定义
json数据就是遵循一种格式的数据,是一种文本数据,是javascript对象的一种表示形式,是前后端交互最好的数据格式之一。
2JSON数据格式
键值对组成,键值之间由逗号分隔,由大括号保存对象(字典)、中括号保存数组(列表、元组),json字符串必须用双引号“”而不能用单引号。其值类型主要有字符串、数字、bool(True、False)、null,数组以及对象(js),跟python的对应关系如下:
|python | json |
|字典 | 对象–|
| 列表或元组 |数组 |
| 字符串 | 字符串 |
|int或float |-数字-|
|True或False | true或false
| None | null|
二、Json-Python数据类型的转换
1、json格式转换成python对象
#1、字符串转换成python对象**(loads)**
import json
json_str = ‘{"name":"ake","age":18,"feature":["高","富","帅"]}’
obj = json.loads(json_str)
print(obj["name"])
print(type(obj))
#输出
ake
<class 'dict'>
2、文件转换成python对象,已创建有文件demo.json,文件内容{“name”:“ake”,“age”:18,“feature”:[“高”,“富”,“帅”]}(load)
import json
with open("demo.json","r",encoding="utf-8") as f:
objs = json.load(f)
print(obj2["name])
print(type(obj2))
#输出
ake
<class 'dict'>
2、 python对象转换成json格式
1、python对象转换为json字符串(dumps)
import json
teacher = {
"name":"AKE",
"age":18,
"feature":["高","富","帅"]
}
json_str = json.dumps(teacher,ensure_ascii=False,indent=True)
print(json_str)
print(type(json_str))
#输出
{
"name": "AKE",
"feature": [
"高",
"富",
"帅"
],
"age": 18
}
<class 'str'>
2、python对象转换为json文件(dump)
import json
with open("test.json","w",encoding="utf-8") as f:
json.dump(teacher,f)