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实现的一个简单LRU cache
Sep 26 Python
python中__call__方法示例分析
Oct 11 Python
Python字符串拼接六种方法介绍
Dec 18 Python
python TCP Socket的粘包和分包的处理详解
Feb 09 Python
Python使用Scrapy爬虫框架全站爬取图片并保存本地的实现代码
Mar 04 Python
Python3.6基于正则实现的计算器示例【无优化简单注释版】
Jun 14 Python
Pandas之Dropna滤除缺失数据的实现方法
Jun 25 Python
详解Python并发编程之创建多线程的几种方法
Aug 23 Python
Python异步编程之协程任务的调度操作实例分析
Feb 01 Python
Django中的session用法详解
Mar 09 Python
python中time包实例详解
Feb 02 Python
LeetCode189轮转数组python示例
Aug 05 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
javascript 静态对象和构造函数的使用和公私问题
2010/03/02 Javascript
让人印象深刻的10个jQuery手风琴效果应用
2012/05/08 Javascript
JavaScript将数据转换成整数的方法
2014/01/04 Javascript
在firefox和Chrome下关闭浏览器窗口无效的解决方法
2014/01/16 Javascript
jquery为页面增加快捷键示例
2014/01/31 Javascript
一个支持任意尺寸的图片上下左右滑动效果
2014/08/24 Javascript
jquery实现可拖拽弹出层特效
2015/01/04 Javascript
基于vue 动态加载图片src的解决方法
2018/02/05 Javascript
简述vue路由打开一个新的窗口的方法
2018/11/29 Javascript
发布一款npm包帮助理解npm的使用
2019/01/03 Javascript
小程序异步问题之多个网络请求依次执行并依次收集请求结果
2019/05/05 Javascript
浅谈vue权限管理实现及流程
2020/04/23 Javascript
基于vue3.0.1beta搭建仿京东的电商H5项目
2020/05/06 Javascript
使用Django的模版来配合字符串翻译工作
2015/07/27 Python
python生成验证码图片代码分享
2016/01/28 Python
Python实现抓取网页生成Excel文件的方法示例
2017/08/05 Python
python+pillow绘制矩阵盖尔圆简单实例
2018/01/16 Python
Python requests发送post请求的一些疑点
2018/05/20 Python
更换Django默认的模板引擎为jinja2的实现方法
2018/05/28 Python
python爬虫的数据库连接问题【推荐】
2018/06/25 Python
flask框架视图函数用法示例
2018/07/19 Python
python爬取基于m3u8协议的ts文件并合并
2019/04/26 Python
tensorflow实现从.ckpt文件中读取任意变量
2020/05/26 Python
Python3 用matplotlib绘制sigmoid函数的案例
2020/12/11 Python
python通过cython加密代码
2020/12/11 Python
印尼最大的在线购物网站:MatahariMall.com
2016/08/26 全球购物
Nike英国官网:Nike.com (UK)
2017/02/13 全球购物
森海塞尔美国官网:Sennheiser耳机与耳麦
2017/07/19 全球购物
什么是表空间(tablespace)和系统表空间(System tablespace)
2013/02/25 面试题
销售演讲稿范文
2014/01/08 职场文书
应用外语系自荐信
2014/06/26 职场文书
2016年圣诞节活动总结范文
2016/04/01 职场文书
纯CSS实现酷炫的霓虹灯效果
2021/04/13 HTML / CSS
python简单验证码识别的实现过程
2021/06/20 Python
SpringBoot整合MongoDB的实现步骤
2021/06/23 MongoDB
mysql timestamp比较查询遇到的坑及解决
2021/11/27 MySQL