1、什么是json
JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation)
JSON 是轻量级的文本数据交换格式
JSON 独立于语言:JSON 使用 Javascript语法来描述数据对象,但是 JSON 仍然独立于语言和平台。JSON 解析器和 JSON 库支持许多不同的编程语言。 目前非常多的动态(PHP,JSP,.NET)编程语言都支持 JSON
2、json模块
Python3 中可以使用 json 模块来对 JSON 数据进行编解码,它包含了两个函数:
json.dumps(): 对数据进行编码。即将python数据类型转化为json对象
json.loads(): 对数据进行解码。即将json对象解析为python数据类型
如果要处理的是文件而不是字符串,你可以使用 json.dump() 和 json.load() 来编码和解码JSON数据
json.dump(): 对数据进行编码。编码后可写入文档
json.load(): 对读取的数据进行解码
python与json数据转换
Python | JSON |
dict | object |
list, tuple | array |
str | string |
int, float, int- & float-derived Enums | number |
True | true |
False | false |
None | null |
import json
json1 = {
"age" : 18,
"name" : "tom"
}
# json.dumps(): 对数据进行编码。即将python数据类型转化为json对象
json_str = json.dumps(data)
print('原数据为', data)
print(type(data)) # <class 'dict'>
print('转换结果', json_str)
print(type(json_str)) # <class 'str'>
# json.loads(): 对数据进行解码。即将json对象解析为python数据类型
json_dic = json.loads(json_str)
print('转换结果', json_dic)
print(type(json_dic)) # <class 'dict'>
# json.dump(): 写入JSON数据
with open('data.json', 'w') as f:
json.dump(data, f)
# json.loads(): 读取数据
with open('data.json', 'r') as f:
data = json.load(f)
print(data)