什么是 json ?
简单来说,JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式,类似于python的字典
数据类型(python与json)
使用json模块的函数进行转换时,类型也同事发生改变。
python | json |
---|---|
dict | obiect |
list, tuple | array |
str | string |
int, float | number |
True | true |
False | false |
None | null |
常用函数(json模块)
python的dict用单引号 ‘ ’ , 而json用双引号 “ ”
dump(python-写->json)
import json
data = {
'name':'张三',
'age':20
}
# dump 将 python对象装换成 json并写入文件
with open('./data.json', 'w+', encoding='utf-8')as fp:
# ensure_ascii=False(允许写入中文)
json.dump(data, fp, ensure_ascii=False)
dumps(python–>json)
import json
data = {
'name':'张三',
'age':20
}
# dumps 将 python对象装换成 json
jsonData = json.dumps(data, ensure_ascii=False)
print(jsonData)
# 运行结果
{"name": "张三", "age": 20}
load(json–>python)
读取文件中json形式的字符串元素转化为Python类型
import json
# 创建python对象
jsonData = {
'name':'张三',
'age':20
}
# 创建json文件
with open('./data.json', 'w', encoding='utf-8')as fp:
json.dump(jsonData, fp, ensure_ascii=False)
with open('./data.json', 'r', encoding='utf-8')as fp:
print(json.load(fp))
# 输出结果
{'name': '张三', 'age': 20}
loads(json–>python)
import json
jsonData = {
'name':'张三',
'age':20
}
jsonDatas = json.dumps(jsonData, ensure_ascii=False)
print(jsonDatas)
# loads 将pytho装换为json
print(json.loads(jsonDatas))
# 输出结果
{"name": "张三", "age": 20}
{'name': '张三', 'age': 20}