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 08 Python
Django自定义认证方式用法示例
Jun 23 Python
Python爬虫实例爬取网站搞笑段子
Nov 08 Python
分享Python切分字符串的一个不错方法
Dec 14 Python
Django之模型层多表操作的实现
Jan 08 Python
关于python之字典的嵌套,递归调用方法
Jan 21 Python
PyTorch预训练的实现
Sep 18 Python
解决pyqt5异常退出无提示信息的问题
Apr 08 Python
keras打印loss对权重的导数方式
Jun 10 Python
Scrapy项目实战之爬取某社区用户详情
Sep 17 Python
如何用Python 实现全连接神经网络(Multi-layer Perceptron)
Oct 15 Python
python 破解加密zip文件的密码
Apr 22 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获取网站百度快照日期的方法
2015/07/29 PHP
TP5框架实现自定义分页样式的方法示例
2020/04/05 PHP
javascript 节点排序 2
2011/01/31 Javascript
一个分享按钮的插件使用介绍(可扩展,内附开发制作流程)
2011/09/19 Javascript
jquery判断浏览器类型的代码
2012/11/05 Javascript
jquery实现省市select下拉框的替换(示例代码)
2014/02/22 Javascript
详解在 Angular 项目中添加 clean-blog 模板
2017/07/04 Javascript
vue插件开发之使用pdf.js实现手机端在线预览pdf文档的方法
2018/07/12 Javascript
JS函数节流和防抖之间的区分和实现详解
2019/01/11 Javascript
node.js实现上传文件功能
2019/07/15 Javascript
VUE UPLOAD 通过ACTION返回上传结果操作
2020/09/07 Javascript
[03:11]2014DOTA2国际邀请赛-VG掉入败者组 独家专访357
2014/07/19 DOTA
[01:32]TI珍贵瞬间系列(一)
2020/08/26 DOTA
Python安装Imaging报错:The _imaging C module is not installed问题解决方法
2014/08/22 Python
Python编程之序列操作实例详解
2017/07/22 Python
tensorflow 输出权重到csv或txt的实例
2018/06/14 Python
Numpy之文件存取的示例代码
2018/08/03 Python
将python运行结果保存至本地文件中的示例讲解
2019/07/11 Python
Windows下Anaconda安装、换源与更新的方法
2020/04/17 Python
美国中小型企业领先的办公家具供应商:Office Designs
2016/11/26 全球购物
性能服装:HYLETE
2018/08/14 全球购物
白俄罗斯在线大型超市:e-dostavka.by
2019/07/25 全球购物
俄罗斯卫浴采暖及维修用品超级市场:Dkrussia
2020/05/12 全球购物
新闻专业个人自我评价
2013/09/21 职场文书
员工拓展培训方案
2014/02/15 职场文书
优秀的个人求职信范文
2014/05/09 职场文书
关于读书的演讲稿800字
2014/08/27 职场文书
县政府办公室领导班子对照检查材料思想汇报
2014/09/28 职场文书
教师节横幅标语
2014/10/08 职场文书
2015年推广普通话演讲稿
2015/03/20 职场文书
入党积极分子半年考察意见
2015/06/02 职场文书
入党转正介绍人意见
2015/06/03 职场文书
尊师重教主题班会
2015/08/14 职场文书
感谢信
2019/04/11 职场文书
mysql定时自动备份数据库的方法步骤
2021/07/07 MySQL
Win11电源已接通但未充电怎么办?Win11电源已接通未充电的解决方法
2022/04/05 数码科技