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 16 Python
python中map()函数的使用方法示例
Sep 29 Python
Python矩阵常见运算操作实例总结
Sep 29 Python
python实现神经网络感知器算法
Dec 20 Python
python实现K最近邻算法
Jan 29 Python
python3使用SMTP发送HTML格式邮件
Jun 19 Python
Python3使用SMTP发送带附件邮件
Jun 16 Python
解决Python print 输出文本显示 gbk 编码错误问题
Jul 13 Python
OpenCV-Python 摄像头实时检测人脸代码实例
Apr 30 Python
Python延迟绑定问题原理及解决方案
Aug 04 Python
Python爬虫中Selenium实现文件上传
Dec 04 Python
python基础之函数的定义和调用
Oct 24 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执行sql语句的写法
2009/03/10 PHP
PHP中ini_set与ini_get用法实例
2014/11/04 PHP
php过滤输入操作之htmlentities与htmlspecialchars用法分析
2017/02/17 PHP
Prototype Function对象 学习
2009/07/12 Javascript
谷歌地图打不开的解决办法
2014/08/07 Javascript
javascript中字符串拼接详解
2014/09/26 Javascript
PHP PDO操作总结
2014/11/17 Javascript
Javascript数据结构与算法之列表详解
2015/03/12 Javascript
Express实现前端后端通信上传图片之存储数据库(mysql)傻瓜式教程(一)
2015/12/10 Javascript
jQuery zTree加载树形菜单功能
2016/02/25 Javascript
js canvas实现放大镜查看图片功能
2017/06/08 Javascript
Angular2整合其他插件的方法
2018/01/20 Javascript
JS声明对象时属性名加引号与不加引号的问题及解决方法
2018/02/16 Javascript
vue实现在表格里,取每行的id的方法
2018/03/09 Javascript
JS使用对象的defineProperty进行变量监控操作示例
2019/02/02 Javascript
微信小程序性能优化之checkSession的使用
2019/03/06 Javascript
巧用Python装饰器 免去调用父类构造函数的麻烦
2012/05/18 Python
Python对列表中的各项进行关联详解
2017/08/15 Python
Django原生sql也能使用Paginator分页的示例代码
2017/11/15 Python
Python Requests模拟登录实现图书馆座位自动预约
2018/04/27 Python
Python操作Oracle数据库的简单方法和封装类实例
2018/05/07 Python
Python装饰器知识点补充
2018/05/28 Python
详解python中的json和字典dict
2018/06/22 Python
PyQt弹出式对话框的常用方法及标准按钮类型
2019/02/27 Python
python实现XML解析的方法解析
2019/11/16 Python
Keras中的多分类损失函数用法categorical_crossentropy
2020/06/11 Python
html5记忆翻牌游戏实现思路及代码
2013/07/25 HTML / CSS
英国自行车商店:AW Cycles
2021/02/24 全球购物
会计师职业生涯规划范文
2014/02/18 职场文书
2014年开学第一课活动方案
2014/03/06 职场文书
班主任班级寄语大全
2014/04/04 职场文书
介绍信模板
2015/01/31 职场文书
白银帝国观后感
2015/06/17 职场文书
解析原生JS getComputedStyle
2021/05/25 Javascript
解决SpringBoot跨域的三种方式
2021/06/26 Java/Android
Mysql超详细讲解死锁问题的理解
2022/04/01 MySQL