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

相关推荐

  • 项目管理是做什么

    项目管理是做什么?根这里我们将根据官方对项目管理的解释,以及项目经理的4大工作职责进行介绍。 一、项目管理具体是做什么 官方解释,项目管理其实是一个管理学科的分支 ,指在项目活动中运用专门的知识、技能、工具和方法,使项目能够在有限资源限定条件下,实现或超过设定的需求和期望。 比如你准备的一场考试就是…

    2022年3月19日
    40000
  • linux中mysql 1045错误如何解决

    解决方法:1、登录数据库之后,利用“select host,user from user;”语句查询用户和权限;2、利用“grant select,update,insert,delete on mas.* to 新建用户@localhost identified by “密码&#822…

    2022年9月18日
    92100
  • vlookup函数条件怎么填写

    vlookup函数条件填写方法 1、名列前茅个条件,选择需要查找的单元格,这里为“张三” 2、第二个条件,选中需要查找内容的列。 3、第三个条件,查看所需查找内容在第几列,这里工资在第三列,所以填“3” 4、第四个条件,如果要查找精确数据,就选择“0”,要模糊查找就用“1” 5、最后按下回车,就可以…

    2022年9月22日
    2.6K00
  • windows中group policy client服务未能登录如何解决

    解决方法: 1、首先按下快捷键“win+r”打开运行,输入“regedit”。 2、然后选择选项栏:HKEY_CURRENT_USER并右击,选择“权限”。 3、然后点击安全下面的“添加”。 4、之后可以登录你的账号,没有改过的话都是“administrator”。 5、最后将权限下面的各项权限勾选…

    2022年8月29日
    1.3K00
  • Mysql怎么查看执行计划

    使用explain关键字可以模拟优化器执行SQL查询语句,从而知道MySQL是如何处理你的SQL语句的,分析你的查询语句或是表结构的性能瓶颈。 explain执行计划包含的信息 其中最重要的字段为:id、type、key、rows、Extra 各字段详解 id select查询的序列号,包含一组数字…

    2022年8月30日
    66800
  • Java设计模式之装饰模式是什么及怎么实现

    1.什么是装饰模式 当我们想要改进或增强某个对象的功能,而又不想继承该类创建子类,可以考虑使用装饰模式。 使用装饰模式增强对象的某个功能,比生成子类再增强,更为灵活。 2.如何实现 1)抽象组件:定义一个抽象类,该抽象类定义了“被装饰者”需要被“装饰的方法” 2)具体组件:抽象组件的一个子类。成为“…

    2022年8月29日
    47500
  • Windows wifi的ip地址指的是什么

    wifi的ip地址指的是路由器的管理员地址;wifi是一种高频无线电信号,相当于有线传输中的网线,ip地址是一种统一的地址格式,它为互联网上的每一个网络设备和每一台终端分配一个逻辑地址,根据路由器品牌型号的不同,其wifi的ip地址也会不同。 本教程操作环境:windows10系统、DELL G3电…

    2022年9月2日
    76500
  • php索引超出了数组界限如何解决

    索引超出了数组界限解决方法: 1、在test.php文件内使用header设置test.php执行的编码为utf8,避免乱码的出现。 2、随后在test.php文件内创建一个测试数组,对应的索引值分别为0、4、8。 3、在test.php文件中使用array_values方法将上一步的数据重新排序,…

    2022年9月10日
    81000
  • tencent files可不可以删除

    “tencent files”可以删除,但是不建议删除;“tencent files”文件是腾讯文件,其中储存的都是与腾讯软件有关的文件,例如QQ中的缓存文件,如果删除该文件,可能会导致腾讯的软件在使用的过程中出现异常。 本教程操作环境:windows10系统、DELL G3电脑。 tencent …

    2022年9月18日
    1.8K00
  • Web.config在渗透中的作用是什么

    前言  下面主要介绍web.config文件在渗透中的作用,即可上传一个web.config时的思路,话不多说,开始正题。首先我们来看一下web.config是什么,援引百度百科的介绍:  Web.config文件是一个XML文本文件,它用来储存ASP.NETWeb 应用程序的配置信息,它可以出现在…

    2022年9月24日
    74500
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

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

分享本页
返回顶部