介绍
json(JavaScript Object Notation, Java 脚本对象表示符)是一种特殊的数据格式,具有以下优点。
- (1)该数据格式独立于脚本语言(如c++,python,matlab等),可以被各种脚本语言调用,便于数据的跨语言调用。
- (2)该数据格式将数据序列化,便于机器的解析、生成、传输,有利于提升数据的传输速率。json只能把常用的数据类型序列化,如 数字、字符串、列表、字典 等。
python 中的 json 模块
python中有一个专门的 json 模块。
import json
python中的 json 模块包含四个功能: dumps,dump, loads,load.
解析json数据:
- json.dumps: 将python对象编码成json字符串
- json.loads:将已编码的json字符串解码为python对象
data = {'name':'0.jpg','weight':50,'height':50}#dict类型
json_data = json.dumps(data)#str类型
data_ = json.loads(json_data)#dict类型
解析json文件
- json.dump: 将python对象编码成json文件
- json.load:将已编码的json文件解码为python对象
#生成json文件
data = {'name':'0.jpg','weight':50,'height':50}
with open("./news_json.json","w") as f:json.dump(data,f)print("已生成news_json.json文件...")#读取json文件
jsonPath = './news_json.json'
with open(jsonPath,'r') as f:data=json.load(f)
print(data)
python中json数据的保存与读取(函数)
我把json数据的保存与读取整理成了简单的函数,如下:
import jsondef save_json(save_path,data):assert save_path.split('.')[-1] == 'json'with open(save_path,'w') as file:json.dump(data,file)def load_json(file_path):assert file_path.split('.')[-1] == 'json'with open(file_path,'r') as file:data = json.load(file)return data# 测试
data = {'name':'0.jpg','weight':50,'height':50}# 保存为json文件
save_json("./data.json",data)
# 从json 文件加载数据
data_load = load_json("./data.json")# 打印保存与加载的数据
print(data)
print(data_load)
参考:
python解析json数据及json文件
Python读写json文件的简单实现