python的json中方法及jsonpath模块用法分析

作者:xlengji 时间:2021-10-06 08:21:32 

本文实例讲述了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的用法。

XPathJSONPath描述
/$根节点
.@现行节点
/.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

标签:python,json,jsonpath模块
0
投稿

猜你喜欢

  • Python 在局部变量域中执行代码

    2023-06-12 04:57:15
  • 慢慢的网页

    2009-11-12 12:53:00
  • SQL优化基础 使用索引(一个小例子)

    2012-01-29 18:29:26
  • django 基于中间件实现限制ip频繁访问过程详解

    2022-06-24 08:38:43
  • 20行python代码的入门级小游戏的详解

    2023-07-15 01:25:31
  • 请正确认识MySQL对服务器端光标的限制

    2008-12-17 14:58:00
  • asp如何实现无组件上传二进制文件?

    2010-06-03 10:09:00
  • Node.js和PHP根据ip获取地理位置的方法

    2023-11-14 21:23:13
  • 解析:快速的掌握 MySQL支持的操作系统

    2008-12-31 17:18:00
  • 纯CSS圆角框

    2009-12-11 18:57:00
  • SQL Server与Oracle数据库在查询优化上的差异

    2009-02-18 14:28:00
  • asp如何在网上查找链接?

    2010-06-22 21:10:00
  • Python自动化之数据驱动让你的脚本简洁10倍【推荐】

    2022-08-20 12:48:57
  • 企业网站FLASH引导页存在的意义

    2008-06-04 11:09:00
  • 11个案例讲透Python函数参数小结

    2023-08-01 13:38:10
  • Python中列表的基本操作汇总

    2021-08-20 23:21:27
  • 如何利用python正确地为图像添加高斯噪声

    2023-08-03 08:26:22
  • BootStrap创建响应式导航条实例代码

    2023-08-09 02:09:55
  • python获取代码运行时间的实例代码

    2023-11-04 02:25:10
  • 基于关系型数据库引擎的\\XML\\索引技术

    2008-09-05 17:13:00
  • asp之家 网络编程 m.aspxhome.com