python标准库模块之json库怎么使用

前言

json,全称为JavaScript Object Notation,也就是JavaScript对象标记,通过对象和数组的组合表示数据,虽然构造简洁但是结构化程度非常高,是一种轻量级的数据交换格式。

作用

主要用于将python对象编码为json格式输出或存储,以及将json格式对象解码为python对象。

python标准库模块之json库怎么使用

一个 JSON 对象可以写为如下形式:

[{    "name": "小明",    "height": "170",    "age": "18"}, {     "name": "小红",    "height": "165",    "age": "20"}]

由中括号包围的就相当于列表类型,列表中的每个元素可以是任意类型,这个示例中它是字典类型,由大括号包围。

JSON 可以由以上两种形式自由组合而成,可以无限次嵌套,结构清晰,是数据交换的极佳方式。

下面先来了解一下json中loads,和load

python标准库模块之json库怎么使用

loads,load的用法

例如,有一段 JSON 形式的字符串,它是 str 类型,我们用 json.loads转换成python的数据结构,变成列表或字典,这样我们就能进行操作了。

import jsondata = '''[{    "name": "小明",    "height": "170",    "age": "18"}, {     "name": "小红",    "height": "165",    "age": "20"}]'''# 打印data类型print(type(data))# json类型的数据转化为python类型的数据new_data = json.loads(data)# 打印data类型print(type(new_data))

运行结果如下

python标准库模块之json库怎么使用

这样来我们就可以用索引获取对应的内容了,例如想要获取名列前茅个元素里的name属性,可以使用如下方式:

import jsondata = '''[{    "name": "小明",    "height": "170",    "age": "18"}, {     "name": "小红",    "height": "165",    "age": "20"}]'''# 打印data类型print(type(data))# json类型的数据转化为python类型的数据new_data = json.loads(data)# 获取内容name = new_data[0]['name']new_name = new_data[0].get('name')# 打印转换后data类型print(type(new_data))print(name)print(new_name)

运行结果

python标准库模块之json库怎么使用

以上就是loads的用法。

load的用法是把json格式文件,转换成python类型的数据。

注意 :load方法操作的是整个文件对象,这里是将整个整个文件对象里面的内容转化为json对象。(下图是文件操作对象)

python标准库模块之json库怎么使用

示例

import jsonimport json# load的用法是把json格式文件,转换成python类型的数据。# 构建该文件的文件对象with open('test1.json',encoding='utf-8')as fp:    # 加载垓文件对象,转换为python类型的数据    pyth_list = json.load(fp)    print(pyth_list)    print(type(pyth_list))    print(type(pyth_list[0]))

需要有一个文件操作对象运行结果

python标准库模块之json库怎么使用

以上就是loads和load的用法,两种方法可以在适当的场景下使用。

dumps,dump的用法

json.dumps()函数,把python类型的数据转换成json字符串

json.dump()函数, 把python类型的数据以json格式储存到文件中

python标准库模块之json库怎么使用

python标准库模块之json库怎么使用

dumps函数

import jsondata = '''[{    "name": "小明",    "height": "170",    "age": "18"}, {     "name": "小红",    "height": "165",    "age": "20"}]'''# 打印要来data类型print(type(data))# json类型的数据转化为python类型的数据new_data = json.loads(data)# 把python类型的数据转换成json字符串lit = json.dumps(new_data)# 打印转换后data类型print(type(new_data))print(type(lit))

运行结果

python标准库模块之json库怎么使用

其实loads和dumps的用法都是一致的,loads是将json类型的数据转化为python类型的数据,而dumps是将json类型的数据转化为python类型的数据。相当于一个是编码一个是解码。

dump函数

把python类型的数据以json格式储存到文件中

import jsonimport jsondata = '''[{    "name": "小明",    "height": "170",    "age": "18"}, {     "name": "小红",    "height": "165",    "age": "20"}]'''# json类型的数据转化为python类型的数据new_data = json.loads(data)# 把python类型的数据以json格式储存到文件中# 构建要写入文件对象with open('test1.json','w',encoding='utf-8')as fp:    # 把python类型的数据以json格式储存到文件中    json.dump(new_data,fp,ensure_ascii=False)

为了输出中文,还需要指定参数 ensure_ascii 为 False

python标准库模块之json库怎么使用

储存文件

python标准库模块之json库怎么使用

以上就是“python标准模块之json库怎么使用”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注亿速云行业资讯频道。

文章标题:python标准库模块之json库怎么使用,发布者:亿速云,转载请注明出处:https://worktile.com/kb/p/28229

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
亿速云亿速云认证作者
上一篇 2022年9月21日 下午10:49
下一篇 2022年9月21日 下午10:50

相关推荐

  • echarts如何改变图表的颜色

    echarts改变图表颜色的方法 1、 打开编辑器新建study.html,并在头部引入echarts插件 2、在body区域新建一个div,并给div设置宽和高,用来生成柱状图 3、在script标签中加入柱状图相关代码 4、通过设置itemStyle下的color属性来改变柱状图颜色 5、完成之…

    2022年9月26日
    49400
  • 如何利用深度链接方式后门化Facebook APP

    近期,作者发现了Facebook安卓APP应用的一个深度链接漏洞,利用该漏洞,可以把用户手机上安装的Facebook安卓APP应用转变成后门程序(Backdoor),实现后门化。另外,利用该漏洞还可以重打包Facebook APP,并将其发送给特定目标受害者安装使用。下面就来看看作者对该漏洞的发现过…

    2022年9月10日
    35900
  • 如何像专业人士一样举办“有效会议”?

    有效会议不仅仅是设定议程并按时开始的问题,这篇文章我们要说的是如何像专业人士一样举办真正的“有效会议”。 想要举办一场有效会议,你要做的可不止告知会议议程和强调按时召开这些基本事项(虽然这些确实也很重要)。有效会议的真正关键是要以人性化的方式来组织和运行,而不是像机器一样流程化的来执行。 我们大多数…

    2022年3月20日
    19500
  • Word首页不同怎么设置

    首页不同设置方法: 1、首先打开word,加入你的页眉。 2、之后去双击这个里面的“页眉”。 3、然后去选择菜单栏中的“页眉和页脚选项”。 4、最后就可以在工具模块里面的勾选“首页不同”了。 关于“Word首页不同怎么设置”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注…

    2022年8月31日
    63400
  • windows驱动程序有什么作用

    驱动程序是一种可以使计算机和设备通信的特殊程序;它创建了一个硬件与硬件,或硬件与软件沟通的接口,经由主板上的总线或其它沟通子系统与硬件形成连接的机制,这样的机制使得硬件设备(device)上的数据交换成为可能。驱动程序相当于硬件的接口,操作系统只有通过这个接口,才能控制硬件设备的工作;因此,驱动程序…

    2022年9月15日
    40500
  • tracert命令有什么作用

    tracert命令的作用: 答:tracert命令是一种路由跟踪实用程序, 主要用于确定ip数据包访问目标所采取的路径。 tracert的使用需要在其后面加一个“ip地址”或者“url”, tracert会根据相对应的域名来进行转换的。 当数据从你计算机中通过多个网关传送到目的地时, 可以用来跟踪数…

    2022年8月31日
    53000
  • SpringBoot怎么进行整合Druid数据源

    1.自定义方式 使用自定义方式整合Druid 1.添加依赖 在pom.xml添加相关依赖 <!–数据库相关–> <dependency> <groupId>org.springframework.boot</groupId> <artifac…

    2022年9月15日
    23300
  • windows 0x00000bcb如何解决

    解决方法: 方法一: 1、首先我们通过左下角的开始菜单进入“设置” 2、然后在设置面板中打开“更新和安全” 3、然后在其中选择“检查更新”,更新一下最新的系统补丁,应该就可以连接到打印机了。 方法二: 1、要是更新系统后还用不了,就可以搜索并打开“设备管理器” 2、然后在其中展开打印队列,选择要使用…

    2022年9月15日
    41000
  • Word尾注怎么移动到特定位置

    尾注移动到特定位置的方法: 1、首先打开进入word,然后将自己的光标放到文字后。 2、然后去点击任务选项栏中的“引用”。 3、之后再去点击“插入尾注”。 4、选中自己的尾注之后,右击选择“脚注和尾注”。 5、最后要注意去勾选“尾注”, 然后可以自己选择“节的结尾”或者“文档结尾”来移动了。 到此,…

    2022年8月31日
    87400
  • CDR最新版本里面图片排版如何调间距

    CDR最新版本里面图片排版调间距的方法: 名列前茅步,选中你需要排版的图片。 第二步,点击上方工具栏的“对象”按钮。 第三步,在下拉菜单中点击“对齐与分布” 第四步,点击右边的“对齐与分布”选项打开。 第五步,点击图示位置的“对象间距”在下方就可以手动调间距了。 关于“CDR最新版本里面图片排版如何…

    2022年9月24日
    42800
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部