python的json中方法及jsonpath模块用法分析
作者:xlengji 时间:2021-10-06 08:21:32
本文实例讲述了python的json中方法及jsonpath模块用法。分享给大家供大家参考,具体如下:
什么是json
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,它使得人们很容易的进行阅读和编写。同时也方便了机器进行解析和生成。适用于进行数据交互的场景,比如网站前台与后台之间的数据交互。
json模块中方法的学习
其中类文件对象的理解:
具有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不支持 |
PS:这里再为大家推荐几款比较实用的json在线工具供大家参考使用:
在线JSON代码检验、检验、美化、格式化工具:
http://tools.jb51.net/code/json
JSON在线格式化工具:
http://tools.jb51.net/code/jsonformat
在线XML/JSON互相转换工具:
http://tools.jb51.net/code/xmljson
json代码在线格式化/美化/压缩/编辑/转换工具:
http://tools.jb51.net/code/jsoncodeformat
在线json压缩/转义工具:
http://tools.jb51.net/code/json_yasuo_trans
更多Python相关内容感兴趣的读者可查看本站专题:《Python操作json技巧总结》、《Python编码操作技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》
希望本文所述对大家Python程序设计有所帮助。
来源:https://blog.csdn.net/xlengji/article/details/81023368
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
Python 在局部变量域中执行代码
慢慢的网页
![](https://img.aspxhome.com/file/UploadPic/200911/12/manmanwangye-95s.jpg)
SQL优化基础 使用索引(一个小例子)
django 基于中间件实现限制ip频繁访问过程详解
20行python代码的入门级小游戏的详解
请正确认识MySQL对服务器端光标的限制
asp如何实现无组件上传二进制文件?
Node.js和PHP根据ip获取地理位置的方法
解析:快速的掌握 MySQL支持的操作系统
纯CSS圆角框
![](https://img.aspxhome.com/file/UploadPic/200912/11/1-11s.png)
SQL Server与Oracle数据库在查询优化上的差异
asp如何在网上查找链接?
Python自动化之数据驱动让你的脚本简洁10倍【推荐】
![](https://img.aspxhome.com/file/2023/2/67892_0s.jpg)
企业网站FLASH引导页存在的意义
11个案例讲透Python函数参数小结
Python中列表的基本操作汇总
如何利用python正确地为图像添加高斯噪声
![](https://img.aspxhome.com/file/2023/9/59459_0s.png)
BootStrap创建响应式导航条实例代码
![](https://img.aspxhome.com/file/2023/4/56054_0s.gif)