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操作列表的常用方法分享
Feb 13 Python
Python基本语法经典教程
Mar 11 Python
python Socket之客户端和服务端握手详解
Sep 18 Python
Python 将RGB图像转换为Pytho灰度图像的实例
Nov 14 Python
手把手教你python实现SVM算法
Dec 27 Python
python中使用zip函数出现错误的原因
Sep 28 Python
python 扩展print打印文件路径和当前时间信息的实例代码
Oct 11 Python
python实现高斯投影正反算方式
Jan 17 Python
Tensorflow中tf.ConfigProto()的用法详解
Feb 06 Python
使用opencv识别图像红色区域,并输出红色区域中心点坐标
Jun 02 Python
Django中Q查询及Q()对象 F查询及F()对象用法
Jul 09 Python
Python利用机器学习算法实现垃圾邮件的识别
Jun 28 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用户指南-cookies部分
2006/10/09 PHP
php5中date()得出的时间为什么不是当前时间的解决方法
2008/06/30 PHP
真正根据utf8编码的规律来进行截取字符串的函数(utf8版sub_str )
2012/10/24 PHP
JS动画效果代码3
2008/04/03 Javascript
jQuery live
2009/05/15 Javascript
JQuery 学习笔记 选择器之一
2009/07/23 Javascript
js切换div css注意的细节
2012/12/10 Javascript
jQuery表格行上移下移和置顶的实现方法
2015/10/08 Javascript
JQuery EasyUI学习教程之datagrid 添加、修改、删除操作
2016/07/09 Javascript
jQuery插件EasyUI实现Layout框架页面中弹出窗体到最顶层效果(穿越iframe)
2016/08/05 Javascript
AngularJs bootstrap搭载前台框架——js控制部分
2016/09/01 Javascript
React创建组件的三种方式及其区别
2017/01/12 Javascript
angularjs封装$http为factory的方法
2017/05/18 Javascript
详解AngularJS用Interceptors来统一处理HTTP请求和响应
2017/06/08 Javascript
详解如何让InstantClick兼容MathJax、百度统计等
2017/09/12 Javascript
Javascript中的作用域及块级作用域
2017/12/08 Javascript
JavaScript函数节流和函数去抖知识点学习
2018/07/31 Javascript
Vue项目中最新用到的一些实用小技巧
2018/11/06 Javascript
JS 验证码功能的三种实现方式
2018/11/26 Javascript
Vue 一键清空表单的实现方法
2020/02/07 Javascript
[03:46]DOTA2英雄基础教程 维萨吉
2013/12/11 DOTA
Python操作json数据的一个简单例子
2014/04/17 Python
python获取目录下所有文件的方法
2015/06/01 Python
Python决策树之基于信息增益的特征选择示例
2018/06/25 Python
Python Sympy计算梯度、散度和旋度的实例
2019/12/06 Python
浅谈keras.callbacks设置模型保存策略
2020/06/18 Python
python如何将图片转换素描画
2020/09/08 Python
静态变量和实例变量的区别
2015/07/07 面试题
简历自荐信
2013/12/02 职场文书
医学生临床实习自我评价
2014/03/07 职场文书
工程售后服务承诺书
2014/05/21 职场文书
2015年林业工作总结
2015/05/14 职场文书
严以修身专题学习研讨会发言材料
2015/11/09 职场文书
2019如何书写演讲稿?
2019/07/01 职场文书
ThinkPHP5和ThinkPHP6的区别
2021/03/31 PHP
python使用shell脚本创建kafka连接器
2022/04/29 Python