Python中JSON模块基本使用方法
JSON (JavaScript Object Notation)是一种使用广泛的轻量数据格式,Python标准库中的json模块提供了一种简单的方法来编码和解码JSON格式的数据。用于完成字符串和python数据类型间进行转换。
json模块基本函数
-
json.dumps():把Python数据类型转换成JSON字符串
-
json.loads():把JSON字符串转换成Python数据类型
-
json.dump():把Python数据类型转换成JSON字符串并存储在文件中
-
json.load():把文件打开并将JSON字符串转换成Python数据类型
说明:使用 JSON 函数需要导入 json 库:import json
json模块使用实例
1、将python中的字典转换为JSON字符串。说明:转换后的JSON字符串都是放在双引号中。
>>> import json
>>> student_dic = {'name':'ACME', 'age':'18', 'grade' : '90'}
>>> json_data = json.dumps(student_dic)
>>> type(json_data)
<class 'str'>
>>> print(json_data)
{"name": "ACME", "age": "18", "grade": "90"}
2、将JSON字符串转换为Python字典。说明:字符串必须放在双引号中,否则会报错。
'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:531509025
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
>>> tran_data = json.loads(json_data)
>>> type(tran_data)
<class 'dict'>
>>> print(tran_data)
{'name': 'ACME', 'age': '18', 'grade': '90'}
3、将Python字典类型数据写入json文件中
>>> import json
>>> student_dic = {'name':'ACME', 'age':'18', 'grade' : '90'}
>>> with open('json.txt','w') as f:
... json.dump(student_dic,f)
...
>>>
查看json.txt文件内容,如下:
d:\pycharm>type json.txt
{"name": "ACME", "age": "18", "grade": "90"}
说明:type为dos命令,作用是查看文件内容。
4、读取JSON文件,并把字符串变换为Python数据字典
'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:531509025
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
>>> with open('json.txt','r') as fr:
... student_dict = json.load(fr)
...
>>> type(student_dict)
<class 'dict'>
>>> print(student_dict)
{'name': 'ACME', 'age': '18', 'grade': '90'}
5、将Python字典类型转换为JSON字符串,并以指定格式输出。
>>> import json
>>> student_dic = {'name':'ACME', 'age':'18', 'grade' : '90'}
>>> json_data = json.dumps(student_dic,indent=4)
>>> print(json_data)
{
"name": "ACME",
"age": "18",
"grade": "90"
}
6、将Python字典类型转换为JSON字符串,并按键排序输出。
'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:531509025
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
>>> json_data = json.dumps(student_dic,sort_keys=True,indent=4)
>>> print(json_data)
{
"age": "18",
"grade": "90",
"name": "ACME"
}
7、Python基本类型转换为JSON字符串的特殊变化。
>>> spec_value_dict = {'a':True,'b':False,'c':None}
>>> json_data = json.dumps(spec_value_dict,indent=4)
>>> print(json_data)
{
"a": true,
"b": false,
"c": null
}
>>>
说明:Python中的True转换为true,False转化为false,None转换为null。使用loads将JSON类型转换后还原,如下:
>>> json.loads(json_data)
{'a': True, 'b': False, 'c': None}
小结
本文仅是描述了Python基本类型与JSON字符串间转换的基本使用方法。对于JSON编解码更多功能使用可以阅读官方文档获取:https://docs.python.org/3/library/json.html
本文来自博客园,作者:I'm_江河湖海,转载请注明原文链接:https://www.cnblogs.com/jhhh/p/16760885.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY