Python提取JSON格式数据实战案例
前言:
我们经常会用到json数据,json数据格式主要是用来和不同语言之间进行交互
比如你要给java端的提供数据,你需要将自己的数据转换为json格式才行
所以不管是提供给后端其他人,还是从API返回的数据结果,我们都需要封装成json数据格式或者解析json数据
json的数据格式类似于python中的字典,都是key:value,当然value也可以是数组的格式
一、JSON使用
1.导入json的包
import json
2.常用的方法
函数 | 描述 |
---|---|
json.dumps | 将python的数据转为json格式提供出去 |
json.loads | 将json格式数据解析为python格式 |
举例:json.loads()
import json strDict = '{"city": "广州", "name": "小黑"}' print(type(strDict)) #<class 'str'> # 将json格式数据转换为python格式,可以看出将str还原为了dict格式 r = json.loads(strDict) print(r,type(r)) # {'city': '广州', 'name': '小黑'} <class 'dict'>
json.dumps()
import json listStr = [1, 2, 3, 4] dictStr = {"city": "北京", "name": "大猫"} print(type(listStr)) # <class 'list'> print(type(dictStr)) #<class 'dict'> # 将python数据转为json格式,可以看出转换后的数据类型均变为了str s1 = json.dumps(listStr) s2 = json.dumps(dictStr,ensure_ascii=False) print(s1,type(s1)) # [1, 2, 3, 4] <class 'str'> print(s2,type(s2)) # {"city": "北京", "name": "大猫"} <class 'str'>
二、实战
1.json.loads()
json的数据格式如下
{ "animals": { "dog": [ { "name": "Rufus", "age":15 }, { "name": "Marty", "age": null } ] } }
我们想要取出json格式中所有狗的名字:
load_data = json.loads(dump_data) data = load_data['animals']['dog'] result1 = [] for i in data: result1.append(i.["name"]) print(result1)
运行结果
['Rufus', 'Marty']
2.jsonpath
如果用jsonpath工具如何取数呢?
load_data = json.loads(dump_data) jobs=load_data['animals']['dog'] result2 = [] for i in data: # 从根节点开始,匹配name节点 result2.append(jsonpath.jsonpath(i,'$..name')[0]) print(result2)
总结
到此这篇关于Python提取JSON格式数据的文章就介绍到这了,更多相关Python提取JSON数据内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
关于PyTorch源码解读之torchvision.models
今天小编就为大家分享一篇关于PyTorch源码解读之torchvision.models,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2019-08-08Python内建模块collections实现特殊容器数据类型
collections模块是Python的内建模块之一,它实现了特殊的容器数据类型,提供了Python内建的数据类型dict、list、set、和tuple的高效替代选择2023-06-06Python小实例混合使用turtle和tkinter让小海龟互动起来
Tkinter模块("Tk 接口")是Python的标准Tk GUI工具包的接口.Tk和Tkinter可以在大多数的Unix平台下使用,同样可以应用在Windows和Macintosh系统里.Tk8.0的后续版本可以实现本地窗口风格,并良好地运行在绝大多数平台中2021-10-10让python的Cookie.py模块支持冒号做key的方法
虽然Cookie的标准是不允许:冒号出现在key里面的,但是我们的开发人员是很可爱的,常常会让我们意想不到。2010-12-12
最新评论