python标准库模块之json库怎么使用
今天小编给大家分享一下python标准库模块之json库怎么使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。
前言
json,全称为JavaScript Object Notation,也就是JavaScript对象标记,通过对象和数组的组合表示数据,虽然构造简洁但是结构化程度非常高,是一种轻量级的数据交换格式。
作用
主要用于将python对象编码为json格式输出或存储,以及将json格式对象解码为python对象。
一个 JSON 对象可以写为如下形式:
[{ "name": "小明", "height": "170", "age": "18" }, { "name": "小红", "height": "165", "age": "20" }]
由中括号包围的就相当于列表类型,列表中的每个元素可以是任意类型,这个示例中它是字典类型,由大括号包围。
JSON 可以由以上两种形式自由组合而成,可以无限次嵌套,结构清晰,是数据交换的极佳方式。
下面先来了解一下json中loads,和load
loads,load的用法
例如,有一段 JSON 形式的字符串,它是 str 类型,我们用 json.loads转换成python的数据结构,变成列表或字典,这样我们就能进行操作了。
import json data = ''' [{ "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))
运行结果如下
这样来我们就可以用索引获取对应的内容了,例如想要获取第一个元素里的name属性,可以使用如下方式:
import json data = ''' [{ "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)
运行结果
以上就是loads的用法。
load的用法是把json格式文件,转换成python类型的数据。
注意 :load方法操作的是整个文件对象,这里是将整个整个文件对象里面的内容转化为json对象。(下图是文件操作对象)
示例
import json import 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]))
需要有一个文件操作对象运行结果
以上就是loads和load的用法,两种方法可以在适当的场景下使用。
dumps,dump的用法
json.dumps()函数,把python类型的数据转换成json字符串
json.dump()函数, 把python类型的数据以json格式储存到文件中
dumps函数
import json data = ''' [{ "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))
运行结果
其实loads和dumps的用法都是一致的,loads是将json类型的数据转化为python类型的数据,而dumps是将json类型的数据转化为python类型的数据。相当于一个是编码一个是解码。
dump函数
把python类型的数据以json格式储存到文件中
import json import json data = ''' [{ "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库怎么使用”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注蜗牛博客行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:niceseo99@gmail.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。
评论