python的json中方法及jsonpath模块用法分析


Posted in Python onDecember 06, 2019

本文实例讲述了python的json中方法及jsonpath模块用法。分享给大家供大家参考,具体如下:

什么是json

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,它使得人们很容易的进行阅读和编写。同时也方便了机器进行解析和生成。适用于进行数据交互的场景,比如网站前台与后台之间的数据交互。

json模块中方法的学习

python的json中方法及jsonpath模块用法分析

其中类文件对象的理解:

具有read()或者write()方法的对象就是类文件对象,比如f = open(“a.txt”,”r”) f就是类文件对象

具体使用方法:

#json.dumps 实现python类型转化为json字符串
#indent实现换行和空格
#ensure_ascii=False实现让中文写入的时候保持为中文
json_str = json.dumps(mydict,indent=2,ensure_ascii=False)
#json.loads 实现json字符串转化为python的数据类型
my_dict = json.loads(json_str)
#json.dump 实现把python类型写入类文件对象
with open("temp.txt","w") as f:
  json.dump(mydict,f,ensure_ascii=False,indent=2)
# json.load 实现类文件对象中的json字符串转化为python类型
with open("temp.txt","r") as f:
  my_dict = json.load(f)

jsonpath模块

1. jsonpath介绍

用来解析多层嵌套的json数据;JsonPath 是一种信息抽取类库,是从JSON文档中抽取指定信息的工具,提供多种语言实现版本,包括:Javascript, Python, PHP 和 Java。

2. JsonPath 对于 JSON 来说,相当于 XPath 对于 XML。

安装方法:pip install jsonpath

官方文档:http://goessner.net/articles/JsonPath

3. JsonPath与XPath语法对比:

Json结构清晰,可读性高,复杂度低,非常容易匹配,下表中对应了XPath的用法。

XPath JSONPath 描述
/ $ 根节点
. @ 现行节点
/ .or[] 取子节点
.. n/a 取父节点,Jsonpath未支持
// .. 就是不管位置,选择所有符合条件的条件
* * 匹配所有元素节点
@ n/a 根据属性访问,Json不支持,因为Json是个Key-value递归结构,不需要属性访问。
[] [] 迭代器标示(可以在里边做简单的迭代操作,如数组下标,根据内容选值等)
| [,] 支持迭代器中做多选。
[] ?() 支持过滤操作.
n/a () 支持表达式计算
() n/a 分组,JsonPath不支持
Python 相关文章推荐
Python交换变量
Sep 06 Python
python实现系统状态监测和故障转移实例方法
Nov 18 Python
python将字符串转换成数组的方法
Apr 29 Python
Python使用Supervisor来管理进程的方法
May 28 Python
Python中字符串的格式化方法小结
May 03 Python
浅谈Python的文件类型
May 30 Python
深入理解python中的浅拷贝和深拷贝
May 30 Python
python 日志增量抓取实现方法
Apr 28 Python
Python中logging实例讲解
Jan 17 Python
Python实现获取系统临时目录及临时文件的方法示例
Jun 26 Python
简单了解django处理跨域请求最佳解决方案
Mar 25 Python
Ubuntu配置Pytorch on Graph (PoG)环境过程图解
Nov 19 Python
python输出数组中指定元素的所有索引示例
Dec 06 #Python
关于numpy.where()函数 返回值的解释
Dec 06 #Python
python进程的状态、创建及使用方法详解
Dec 06 #Python
Django Form and ModelForm的区别与使用
Dec 06 #Python
python 实现二维字典的键值合并等函数
Dec 06 #Python
python二分法查找算法实现方法【递归与非递归】
Dec 06 #Python
python二维键值数组生成转json的例子
Dec 06 #Python
You might like
浅谈PHP语法(1)
2006/10/09 PHP
php 冒泡排序 交换排序法
2011/05/10 PHP
php 记录进行累加并显示总时长为秒的结果
2011/11/04 PHP
php arsort 数组降序排序详细介绍
2016/11/17 PHP
php中get_magic_quotes_gpc()函数说明
2017/02/06 PHP
非常好的js代码
2006/06/27 Javascript
超级简单的图片防盗(HTML),好用
2007/04/08 Javascript
JS加ASP二级域名转向的代码
2007/05/17 Javascript
dtree 网页树状菜单及传递对象集合到js内,动态生成节点
2012/04/14 Javascript
Javascript获取当前时间函数和时间操作小结
2014/10/01 Javascript
通过伪协议解决父页面与iframe页面通信的问题
2015/04/05 Javascript
jQuery封装的tab选项卡插件分享
2015/06/16 Javascript
js闭包引起的事件注册问题介绍
2016/03/29 Javascript
Bootstrap3 图片(响应式图片&图片形状)
2017/01/04 Javascript
如何使用electron-builder及electron-updater给项目配置自动更新
2018/12/24 Javascript
如何使用Jquery动态生成二级选项列表
2020/02/06 jQuery
Vue点击切换Class变化,实现Active当前样式操作
2020/07/17 Javascript
nuxt 每个页面head标签内容设置方式
2020/11/05 Javascript
Python发送Email方法实例
2014/08/21 Python
python tensorflow学习之识别单张图片的实现的示例
2018/02/09 Python
python实现遍历文件夹修改文件后缀
2018/08/28 Python
Python的iOS自动化打包实例代码
2018/11/22 Python
python中用logging实现日志滚动和过期日志删除功能
2019/08/20 Python
Python中Subprocess的不同函数解析
2019/12/10 Python
PyCharm使用之配置SSH Interpreter的方法步骤
2019/12/26 Python
Python绘制组合图的示例
2020/09/18 Python
Python环境使用OpenCV检测人脸实现教程
2020/10/19 Python
解决python 执行shell命令无法获取返回值的问题
2020/12/05 Python
详解CSS3中@media的实际使用
2015/08/04 HTML / CSS
美国最受欢迎的童装品牌之一:The Children’s Place
2016/07/23 全球购物
Nike法国官方网站:Nike.com FR
2018/07/22 全球购物
机械专业应届生求职信
2013/12/12 职场文书
学校三节实施方案
2014/06/09 职场文书
2016年“12.4”法制宣传日活动总结
2016/04/01 职场文书
导游词之介休绵山
2019/12/31 职场文书
golang实现一个简单的websocket聊天室功能
2021/10/05 Golang