当前位置: 代码迷 >> 综合 >> python:json文件的保存与读取
  详细解决方案

python:json文件的保存与读取

热度:46   发布时间:2024-01-31 19:02:02.0

 

介绍

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文件的简单实现