脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|shell|

服务器之家 - 脚本之家 - Python - Python中json库的操作指南

Python中json库的操作指南

2023-04-03 11:39A-L-Kun Python

JSON是存储和交换文本信息的语法,类似XML,JSON比XML更小、更快,更易解析,且易于人阅读和编写,下面这篇文章主要给大家介绍了关于Python中json库的操作指南,需要的朋友可以参考下

概念

  • json是一种通用的数据类型
  • 一般情况下接口返回的数据类型都是json
  • 长得像字典,形式也是k-v{ }
  • 其实json是字符串
  • 字符串不能用key、value来取值,所以要先转换为字典才可以

json操作

json转换成字典:

loads方法

?
1
2
3
4
5
import json
res = json.loads(s)  # s是json类型的字符串
print(res)  # 打印字典
print(type(res))  # 打印res类型
print(res.keys())  # 打印字典的所有key

文件操作

?
1
2
3
4
f = open('stus.json',encoding='utf-8')
content = f.read() # 使用loads()方法需要先读文件
user_dic = json.loads(cotent)
print(user_dic)

load方法

?
1
2
3
4
import json
f = open('stus.json',encoding="utf-8")
user_dic = json.load(f)
print(user_dic)

区别:

loads() 传的是字符串,而load()传的是文件对象

使用loads()时需要先读取文件在使用,而load()则不用

字典转成json串

文件里只能写字符串,但是可以把字典转成json串,json串是字符串,可以写到文件里

drums方法

?
1
2
3
4
stus = {'xiaojun':'123456','xiaohei':'7891','abc':'11111'}
res2 = json.dumps(stus)   # 先把字典转成json
print(res2)
print(type(res2))

文件操作

?
1
2
with open('stus.txt','w',encoding='utf-8') as f: # 打开文件
    f.write(res2)  # 在文件里写入转成的json串

dump()方法

?
1
2
3
stus={'xiaojun':'123456','xiaohei':'7890','lrx':'111111'}
file = open('stus2.json','w',encoding='utf-8')
json.dump(stus,file,indent,ensure_ascii=False# 直接写入文件中,ensure_ascii为False时内容输出显示正常的中文,而不是转码

参数:

  • indent:字符串转行 + 缩进
  • ensure_ascii:是否转为ASCII码

区别:

dump()不需要使用.write()方法,只需要写那个字典,那个文件即可;而.dumps()需要使用.write()方法写入.如果把字典写到文件里面的时候,dump()好用;但是如果不需要操作文件,或需要把内容存储到数据库何excel,则需要使用dumps()先把字典转换成字符串,再写入

总结

不管是dump还是load,带s的都是和字符串相关的,不带s的都是和文件相关的

到此这篇关于Python中json库的操作指南的文章就介绍到这了,更多相关Python中json库内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/qq_62789540/article/details/122482706

延伸 · 阅读

精彩推荐
  • Python在Python的Django框架中生成CSV文件的方法

    在Python的Django框架中生成CSV文件的方法

    这篇文章主要介绍了在Python的Django框架中生成CSV文件的方法,利用到了Python下的csv模块,需要的朋友可以参考下...

    脚本之家5252020-07-26
  • Python关于Pyinstaller打包eel和pygame需要注意的坑

    关于Pyinstaller打包eel和pygame需要注意的坑

    这篇文章主要介绍了关于Pyinstaller打包eel和pygame需要注意的坑,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...

    DeadPool loves Star7872022-09-20
  • Pythonpython中_del_还原数据的方法

    python中_del_还原数据的方法

    在本篇内容里小编给大家整理了一篇关于python中_del_还原数据的方法,有兴趣的朋友们可以学习下。...

    小妮浅浅5302021-08-11
  • Pythonpandas分别写入excel的不同sheet方法

    pandas分别写入excel的不同sheet方法

    今天小编就为大家分享一篇pandas分别写入excel的不同sheet方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...

    七巧板子11852021-04-28
  • Pythonpython实现网络五子棋

    python实现网络五子棋

    这篇文章主要为大家详细介绍了python实现网络五子棋,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    XXXOT4022021-10-08
  • Python教你十行代码实现python向手机推送通知功能

    教你十行代码实现python向手机推送通知功能

    这篇文章主要介绍了十行代码实现python向手机推送通知,这里使用的是pushplus的服务,代码也很简单,运行代码后也是很快就可以收到消息推送,需要的朋友...

    Hydrion-Qlz9412022-11-27
  • PythonPython中图像算术运算的示例详解

    Python中图像算术运算的示例详解

    还记得你在小学时学习如何加减数字吗?现在,你也可以对图像做同样的事情!输入图像可以进行算术运算,例如加法、减法和按位运算(AND、OR、NOT、XOR)...

    woshicver9202022-12-15
  • Python13个有趣又好玩的Python游戏代码分享

    13个有趣又好玩的Python游戏代码分享

    今天小编跟大家分享13个有趣又好玩的Python小游戏示例代码,教你如何通过边打游戏边学编程!感兴趣的小伙伴快跟随小编一起学习起来...

    Python学习与数据挖掘30522022-10-12