软件系统开发定制python标准库模块——json库的用法

文章目录


前言

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

作用

软件系统开发定制主要用于将python对象编码为json格式输出或存储,以及将json格式对象解码为python对象。


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

[{    "name": "小明",    "height": "170",    "age": "18"}, {     "name": "小红",    "height": "165",    "age": "20"}]
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

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

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




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

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))
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

运行结果如下

这样来我们就可以用索引获取对应的内容了,例如想要获取第一个元素里的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)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26

运行结果

以上就是loads的用法。





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

注意 :load方法操作的是整个文件对象,这里是将整个整个文件对象里面的内容转化为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]))
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

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

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







dumps,dump的用法

json.dumps()函数,把python类型的数据转换成json字符串
json.dump()函数, 把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))
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26

运行结果

其实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)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26

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

储存文件

结语

本章中,我们了解了用 Python 进行 JSON 操作的方法,后面做数据解析时经常会用到,建议熟练掌握。

网站建设定制开发 软件系统开发定制 定制软件开发 软件开发定制 定制app开发 app开发定制 app开发定制公司 电商商城定制开发 定制小程序开发 定制开发小程序 客户管理系统开发定制 定制网站 定制开发 crm开发定制 开发公司 小程序开发定制 定制软件 收款定制开发 企业网站定制开发 定制化开发 android系统定制开发 定制小程序开发费用 定制设计 专注app软件定制开发 软件开发定制定制 知名网站建设定制 软件定制开发供应商 应用系统定制开发 软件系统定制开发 企业管理系统定制开发 系统定制开发