教你怎么用Python解析JSON
2023-04-18 16:27:08 时间
SON (JavaScript Object Notation) 是一种轻量级的数据交换格式。Python3 中可以使用 json 模块来对 JSON 数据进行编解码,主要包含了下面4个操作函数:
提示:所谓类文件对象指那些具有read()或者 write()方法的对象,例如,f = open('a.txt','r'),其中的f有read()方法,所以f就是类文件对象。
在json的编解码过程中,python 的原始类型与JSON类型会相互转换,具体的转化对照如下:
Python 编码为 JSON 类型转换对应表:
JSON 解码为 Python 类型转换对应表:
操作示例 :
import json
data = {
'name': 'pengjunlee',
'age': 32,
'vip': True,
'address': {'province': 'GuangDong', 'city': 'ShenZhen'}
}
# 将 Python 字典类型转换为 JSON 对象
json_str = json.dumps(data)
print(json_str) # 结果 {"name": "pengjunlee", "age": 32, "vip": true, "address": {"province": "GuangDong", "city": "ShenZhen"}}
# 将 JSON 对象类型转换为 Python 字典
user_dic = json.loads(json_str)
print(user_dic['address']) # 结果 {'province': 'GuangDong', 'city': 'ShenZhen'}
# 将 Python 字典直接输出到文件
with open('pengjunlee.json', 'w', encoding='utf-8') as f:
json.dump(user_dic, f, ensure_ascii=False, indent=4)
# 将类文件对象中的JSON字符串直接转换成 Python 字典
with open('pengjunlee.json', 'r', encoding='utf-8') as f:
ret_dic = json.load(f)
print(type(ret_dic)) # 结果 <class 'dict'>
print(ret_dic['name']) # 结果 pengjunlee
注意:使用eval()能够实现简单的字符串和Python类型的转化。
user1 =eval('{"name":"pengjunlee"}')
print(user1['name']) # 结果 pengjunlee
相关文章
- Mycat 管理命令9
- 将执行器「缝」进衣袖,斯坦福无接触设备,远程传递触摸信息
- Mycat HA(高可用) 与 LB(负载均衡)17
- 全网最全的Postman接口自动化测试!(菜鸟级攻略)
- 通过内置对象理解 Python(七)
- 用 Python 删除文件中的乱码
- mypy 这个工具,让Python的类型提示变得非常实用
- 如何写出令人惊叹的Python类
- 分享6个实用的Python自动化脚本
- 手把手教你用Python网络爬虫进行多线程采集高清游戏壁纸
- Pyecharts绘图API总结
- 【图论搜索专题】双向 BFS 模板题
- 值得收藏的30道 Python 练习题(1-15)!
- Python爬虫,WP站图片PY多线程下载爬虫
- 值得收藏的30道 Python 练习题(16-30)!
- 中科院软件所在 Python 程序的构建依赖分析方面取得进展:帮助开发人员提高代码复用效率
- 2021年Python十佳ML库大盘点,国产选手GitHub半年获5k+star
- 有了这个工具,不执行代码就可以找PyTorch模型错误
- 一文带你搞懂Python数据类型之数字类型
- 一文带你搞懂Python的输入输出