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抓取某汽车网数据解析html存入excel示例
Dec 04 Python
Python实现把xml或xsl转换为html格式
Apr 08 Python
通过Python爬虫代理IP快速增加博客阅读量
Dec 14 Python
Python读取MRI并显示为灰度图像实例代码
Jan 03 Python
Python subprocess模块详细解读
Jan 29 Python
Python with语句上下文管理器两种实现方法分析
Feb 09 Python
python画图系列之个性化显示x轴区段文字的实例
Dec 13 Python
Python 调用 zabbix api的方法示例
Jan 06 Python
django admin 根据choice字段选择的不同来显示不同的页面方式
May 13 Python
python环境搭建和pycharm的安装配置及汉化详细教程(零基础小白版)
Aug 19 Python
浅谈python 类方法/静态方法
Sep 18 Python
如何使用Pytorch搭建模型
Oct 26 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
基于mysql的论坛(7)
2006/10/09 PHP
关于shopex同步ucenter的redirect问题,导致script不运行
2013/04/10 PHP
php错误级别的设置方法
2013/06/17 PHP
PHP sleep()函数, usleep()函数
2016/08/25 PHP
php微信开发之自定义菜单完整流程
2016/10/08 PHP
对YUI扩展的Gird组件 Part-1
2007/03/10 Javascript
jq选项卡鼠标延迟的插件实例
2013/05/13 Javascript
JS获取节点的兄弟,父级,子级元素的方法
2014/01/09 Javascript
JavaScript必知必会(六) delete in instanceof
2016/06/08 Javascript
JS 获取HTML标签内的子节点的方法
2016/09/21 Javascript
第一次接触神奇的前端框架vue.js
2016/12/01 Javascript
Angular路由简单学习
2016/12/26 Javascript
EasyUi 打开对话框后控件赋值及赋值后不显示的问题解决办法
2017/01/19 Javascript
Angular.js与node.js项目里用cookie校验账户登录详解
2017/02/22 Javascript
微信小程序实现滑动删除效果
2017/05/19 Javascript
React+react-dropzone+node.js实现图片上传的示例代码
2017/08/23 Javascript
jquery tmpl模板(实例讲解)
2017/09/02 jQuery
vue底部加载更多的实例代码
2018/06/29 Javascript
vue中如何实现pdf文件预览的方法
2018/07/12 Javascript
JS使用遮罩实现点击某区域以外时弹窗的弹出与关闭功能示例
2018/07/31 Javascript
小程序从手动埋点到自动埋点的实现方法
2019/01/24 Javascript
element-ui树形控件后台返回的数据+生成组织树的工具类
2020/03/05 Javascript
原生JavaScript实现轮播图
2021/01/10 Javascript
利用css3-animation实现逐帧动画效果
2016/03/10 HTML / CSS
图书室管理制度
2014/01/19 职场文书
恶搞卫生巾广告词
2014/03/18 职场文书
期末评语大全
2014/05/04 职场文书
公共场所禁烟标语
2014/06/25 职场文书
团日活动总结报告
2014/06/25 职场文书
邀请函的格式
2015/01/30 职场文书
2015年安全生产月活动总结
2015/03/26 职场文书
股东大会通知
2015/04/24 职场文书
2015年法院工作总结范文
2015/04/28 职场文书
React 高阶组件HOC用法归纳
2021/06/13 Javascript
Eclipse+Java+Swing+Mysql实现电影购票系统(详细代码)
2022/01/18 Java/Android
SpringBoot 集成短信和邮件 以阿里云短信服务为例
2022/04/22 Java/Android