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每次处理固定个数的字符的方法总结
Jan 29 Python
下载安装setuptool和pip linux安装pip    
Jan 24 Python
python实现通过shelve修改对象实例
Sep 26 Python
Python的Bottle框架的一些使用技巧介绍
Apr 08 Python
python中的闭包函数
Feb 09 Python
对python的文件内注释 help注释方法
May 23 Python
python scp 批量同步文件的实现方法
Jan 03 Python
Python socket模块实现的udp通信功能示例
Apr 10 Python
使用django的ORM框架按月统计近一年内的数据方法
Jul 18 Python
Python如何实现远程方法调用
Aug 07 Python
python自动提取文本中的时间(包含中文日期)
Aug 31 Python
selenium+超级鹰实现模拟登录12306
Jan 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
重置版宣传动画
2020/04/09 魔兽争霸
PHP读取目录下所有文件的代码
2008/01/07 PHP
php session应用实例 登录验证
2009/03/16 PHP
php实现word转html的方法
2016/01/22 PHP
php使用curl通过代理获取数据的实现方法
2016/05/16 PHP
PHP实现的用户注册表单验证功能简单示例
2019/02/25 PHP
jQueryUI的Dialog的简单封装
2010/06/07 Javascript
javascript 学习笔记(六)浏览器类型及版本信息检测代码
2011/04/08 Javascript
体验js中splice()的强大(插入、删除或替换数组的元素)
2013/01/16 Javascript
javascript基本语法
2016/05/31 Javascript
AngularJS中一般函数参数传递用法分析
2016/11/22 Javascript
JavaScript变量类型以及变量作用域详解
2017/08/14 Javascript
Angular HMR(热模块替换)功能实现方法
2018/04/04 Javascript
解决removeEventListener 无法清除监听的问题
2020/10/30 Javascript
[02:57]DOTA2亚洲邀请赛 SECRET战队出场宣传片
2015/02/07 DOTA
详解python时间模块中的datetime模块
2016/01/13 Python
深入解析Python设计模式编程中建造者模式的使用
2016/03/02 Python
在 Python 应用中使用 MongoDB的方法
2017/01/05 Python
使用Python读取大文件的方法
2018/02/11 Python
django表单实现下拉框的示例讲解
2018/05/29 Python
如何在Python中实现goto语句的方法
2019/05/18 Python
django解决订单并发问题【推荐】
2019/07/31 Python
Python适配器模式代码实现解析
2019/08/02 Python
jupyter 中文乱码设置编码格式 避免控制台输出的解决
2020/04/20 Python
哪些是python中web开发框架
2020/06/17 Python
Python pandas对excel的操作实现示例
2020/07/21 Python
Python中return函数返回值实例用法
2020/11/19 Python
python实现启动一个外部程序,并且不阻塞当前进程
2020/12/05 Python
CSS3制作3D立方体loading特效
2020/11/09 HTML / CSS
浅谈pc和移动端的响应式的使用
2019/01/03 HTML / CSS
HTML5 WebSocket实现点对点聊天的示例代码
2018/01/31 HTML / CSS
State Cashmere官网:半零售价可持续蒙古羊绒
2020/02/26 全球购物
工业学校毕业生自荐信范文
2014/01/03 职场文书
聚美优品恶搞广告词
2014/03/14 职场文书
西游记读书笔记
2015/06/25 职场文书
创业计划书之酒店
2019/08/30 职场文书