python专题我对json的日常操作
知识追寻者 人气:1一前言
本篇文章将会阐述对json的日常操作,如何读取json文件,将json文件转为字典;如何将字典转为json,将字典写入文件等;
二 josn数据格式简要说明
json对于初学者可以理解是一种数据存储格式,比如像xml;json的数据储存格式是kev(键)-value(值)形式,每个key都是唯一,并且有对应唯一的value,他们用冒号形成对应关系;json对象外面使用花括号{},花括号内部是就是存储key-value;通常key是字符串,value可以是任意数据类型对象,每个键值对之间用逗号分割,;举个简单{"name":"zszxz", "type", "human"}
这个简单的json格式 key1是name,对应的value1是zszxz;key2是type,对应的value2是human;
三pyhon函数说明
函数名称 | 函数含义 |
---|---|
dump | 将字典数据写入文件为json |
load | 从文件读取josn数据转为字典 |
dumps | 将字典转为josn |
loads | 将json数据转为字典 |
四 字典与json之间的类型转换
字典类型 | 符号 | json类型 |
---|---|---|
dictionary | <=> | object |
list ,tuple | <=> | array |
str | <=> | string |
False | <=> | false |
True | <=> | true |
None | <=> | null |
int | <=> | numeric(int) |
float | <=> | numeric(float) |
五 函数操作实践
5.1 josn.dump
- 首先要引入 json 模块,定义一个字典数据 message;
- 然后定义存储的json文件名为
zszxz.json
,知识追寻者这边有文件夹所有搞了个相对路径 - 打开一个file,使用 'w' 写入模式,并指定编码格式为'utf-8'
- 最后使用dump()方法将字典数据message写入文件,最后得到文件中的json结果
{"msg": "you are very cute"}
import json
message = {'msg':'you are very cute'}
filename = '..https://img.qb5200.com/download-x/dirs/zszxz.json'
# 写入数据
with open(filename,'w',encoding='utf-8') as json_file:
# {"msg": "you are very cute"}
json.dump(message,json_file)
5.2 josn.load
- 引入json模块,要读取5.1节写入的json数据,文件名相同
- 打开一个文件,指定模式'r' 表示读取,指定编程格式为 'utf-8'
- 使用load()方法将json数据从文件中读取转为字典,输出结果
{'msg': 'you are very cute'}
import json
filename = '..https://img.qb5200.com/download-x/dirs/zszxz.json'
with open(filename,'r',encoding = 'utf-8') as read_json:
content = json.load(read_json)
# {'msg': 'you are very cute'}
print(content)
5.3 json.dumps
- 引入json模块,定义字典数据message
- 使用dumps方法将字典转为josn数据
{"msg": "you are very cute"}
import json
message = {'msg':'you are very cute'}
json_data = json.dumps(message)
print(json_data)
5.4 json. loads
- 引入json模块,定义字典数据message
- 使用dumps方法将字典转为josn数据
{"msg": "you are very cute"}
- 使用loads方法将json数据转为字典为
{'msg': 'you are very cute'}
import json
message = {'msg':'you are very cute'}
json_data = json.dumps(message)
# 将json对象转为字典
dic_data = json.loads(json_data)
print(dic_data)
加载全部内容