Python3快速入门(八)——Python3 JSON
1、JSON简介
JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式,是基于ECMAScript的一个子集。
2、json模块简介
Python3 中可以使用 json 模块来对 JSON 数据进行编解码,包含两个函数: json.dumps(): 对数据进行编码。 json.loads(): 对数据进行解码。 在json的编解码过程中,Python 的数据类型与json类型会相互转换。 json.dump():将数据保存为JSON文件 json.load():从JSON文件读取数据 Python数据类型编码为JSON数据类型转换表: dict object list,tuple array str string Int,float,enum number True true False false None null JSON解码为Python数据类型转换表: object dict array list string str number(int) int number(real) float true True false False null None
3、JSON实例
# -*- coding:utf-8 -*-
import json
data = {
"id":"123456",
"name":"Bauer",
"age":30
}
jsonFile = "data.json"
if __name__ == '__main__':
# 将字典数据转换为JSON对象
print("raw data: ", data)
jsonObject = json.dumps(data)
print("json data: ", jsonObject)
# 将JSON对象转换为字典类型数据
rowData = json.loads(jsonObject)
print("id: ", rowData["id"])
print("name: ", rowData["name"])
print("age: ", rowData["age"])
# 将JSON对象保存为JSON文件
with open(jsonFile, 'w') as file:
json.dump(jsonObject, file)
# 将JSON文件读取内容
with open(jsonFile, 'r') as file:
data = json.load(file)
print(data)
# output:
# raw data: {'id': '123456', 'name': 'Bauer', 'age': 30}
# json data: {"id": "123456", "name": "Bauer", "age": 30}
# id: 123456
# name: Bauer
# age: 30
# {"id": "123456", "name": "Bauer", "age": 30}