首页后端开发PHPPython json模块常用的方法有哪些

Python json模块常用的方法有哪些

时间2023-07-05 18:22:02发布访客分类PHP浏览1686
导读:这篇文章主要讲解了“Pythonjson模块常用的方法有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Pythonjson模块常用的方法有哪些”吧! JSON...
这篇文章主要讲解了“Pythonjson模块常用的方法有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Pythonjson模块常用的方法有哪些”吧!

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,遵循欧洲计算机协会制定的 JavaScript 规范(简称 ECMAScript)。

JSON 易于人阅读和编写,同时也易于机器解析和生成,能够有效的提升网信息的传输效率,因此它常被作为网络、程序之间传递信息的标准语言,比如客户端与服务器之间信息交互就是以 JSON 格式传递的。

简单地说,JSON 可以将 JavaScript 对象表示的一组数据转换为字符串格式,以便于在网络、程序间传输这个字符串。并且在需要的时候,还可以将它转换为编程语言所支持的数据格式。本节主要介绍如何实现 JSON 数据与 Python 数据类型间的相互转换。

Python 语言内置了专门处理 JOSN 数据的模块 & mdash; & mdash; jons 模块,通过该模块就可以完成 JSON 与 Python 两种数据格式的相互转换。

jons.loads()

该方法可以将 json 格式的字符串转换成 Python 对象(比如列表、字典、元组、整型以及浮点型),其中最常用的是转换为字典类型。示例如下:

#coding:utf8
importjson
#JOSN字符串
website_info='{
"name":"CSDN","PV":"2000万","UV":"800万","create_time":"1999年"}
'
py_dict=json.loads(website_info)
print("python字典数据格式:%s;数据类型:%s"%(py_dict,type(py_dict)))

输出结果:

python字典数据格式:{ 'name': 'CSDN', 'PV': '2000万', 'UV': '800万', 'create_time': '1999年'} ;数据类型:class 'dict'>

注意:上述示例中 JSON 字符串看上去和 Python 字典非常相似,但是其本质不同,JOSN 是字符串类型,而 Python 字典是 dict 类型。

json.dump()

它可以将 Python 对象(字典、列表等)转换为 json 字符串,并将转换后的数据写入到 json 格式的文件中 ,因此该方法必须操作文件流对象。比如当使用爬虫程序完成数据抓取后,有时需要将数据保存为 json 格式,此时就用到了 json.dump() 方法,语法格式如下:

json.dump(object,f,inden=0,ensure_ascii=False)

参数说明如下:

  • object:Python 数据对象,比如字典,列表等

  • f:文件流对象,即文件句柄。

  • indent:格式化存储数据,使 JSON 字符串更易阅读。

  • ensure_ascii:是否使用 ascii 编码,当数据中出现中文的时候,需要将其设置为 False。

示例示例如下:

importjson
ditc_info={
"name":"CSDN","PV":"2000万","UV":"800万","create_time":"1999年"}
    
withopen("web.josn","a")asf:
json.dump(ditc_info,f,ensure_ascii=False)

打开 web.json 文件,其内容如下所示:

{

"name":"CSDN",
"PV":"2000万",
"UV":"800万",
"create_time":"1999年"
}
    

您也可以将 Python 列表转换成 JSON 字符串,并保存至 json 文件中,如下所示:

importjson
item_list=[]
item={
'website':'CSDN','url':"www.CSDN.net"}
    
fork,vinitem.items():
item_list.append(v)
withopen('info_web.json','a')asf:
json.dump(item_list,f,ensure_ascii=False)

打开 info_web.json 文件,其内容如下:

["CSDN", "www.CSDN.net"]

json.load()

该方法用于操作文件流对象,不过它与 dump() 恰好相反,它表示从 json 文件中读取 JSON 字符串,并将读取内容转换为 Python 对象。使用示例如下:

importjson
site={
'name':'CSDN',"url":"www.CSDN.net"}

filename='website.json'
withopen(filename,'w')asf:
json.dump(site,f,ensure_ascii=False)
withopen(filename,'r')asf:
print(json.load(f))

输出结果如下:

{ 'name': 'CSDN', 'url': 'www.CSDN.net'}

json.dumps()

该方法可以将 Python 对象转换成 JSON 字符串。示例如下:

importjson
#python字典
item={
'website':'CSDN','rank':1}
    
#json.dumps之后
item=json.dumps(item,ensure_ascii=False)
print('转换之后的数据类型为:',type(item))
print(item)

输出结果如下:

转换之后的数据类型为: class 'str'>
{ "website": "CSDN", "url": "www.CSDN.net"}

最后对上述方法做简单地总结,如下表所示:

JSON方法总结

方法作用
json.dumps()将 Python 对象转换成 JSON 字符串。
json.loads()将 JSON 字符串转换成 Python 对象。
json.dump()将 Python 中的对象转化成 JSON 字符串储存到文件中。
json.load()将文件中的 JSON 字符串转化成 Python 对象提取出来。

综上所述 json.load() 与 json.dump() 操作的是文件流对象,实现了 json 文件的读写操作,而 json.loads() 与 json.dumps() 操作的是 Python 对象或者 JOSN 字符串。

感谢各位的阅读,以上就是“Pythonjson模块常用的方法有哪些”的内容了,经过本文的学习后,相信大家对Pythonjson模块常用的方法有哪些这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!

pythonjson

若转载请注明出处: Python json模块常用的方法有哪些
本文地址: https://pptw.com/jishu/290603.html
购买便宜的国外vps好用吗 Python中怎么创建对象列表

游客 回复需填写必要信息