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

 更新时间:2019年12月06日 10:01:11   作者:xlengji  
这篇文章主要介绍了python的json中方法及jsonpath模块用法,结合实例形式分析了Python json相关模块与常见方法使用技巧,需要的朋友可以参考下

本文实例讲述了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程序设计有所帮助。

相关文章

  • python实现微信发送邮件关闭电脑功能

    python实现微信发送邮件关闭电脑功能

    这篇文章主要介绍了python实现微信发送邮件关闭电脑功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-02-02
  • Python实现九宫格式的朋友圈功能内附“马云”朋友圈

    Python实现九宫格式的朋友圈功能内附“马云”朋友圈

    PIL(Python Imaging Library)是一个非常强大的Python库,但是它支持Python2.X, 在Python3中则使用的是Pillow库,它是从PIL中fork出来的一个分支。这篇文章主要介绍了用Python搞定九宫格式的朋友圈功能内附“马云”朋友圈 ,需要的朋友可以参考下
    2019-05-05
  • 详解Python函数print用法

    详解Python函数print用法

    今天给大家带来的是关于Python的相关知识,文章围绕着Python print函数的用法展开,文中有非常详细的介绍及代码示例,需要的朋友可以参考下
    2021-06-06
  • 在Flask使用TensorFlow的几个常见错误及解决

    在Flask使用TensorFlow的几个常见错误及解决

    这篇文章主要介绍了在Flask使用TensorFlow的几个常见错误及解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-01-01
  • scrapy中的spider传参实现增量的方法

    scrapy中的spider传参实现增量的方法

    有时候需要根据项目的实际需求向spider传递参数来控制spider的运行方式,本文主要介绍了scrapy中的spider传参实现增量的方法,具有一定的参考价值,感兴趣的可以了解一下
    2022-06-06
  • python数字类型和占位符详情

    python数字类型和占位符详情

    这篇文章主要介绍了ython数字类型和占位符详情,文章围绕主题展开全文详细内容,需要的小伙伴可以参考一下,希望对你的学习有所帮助
    2022-03-03
  • python列表字典排序的实现示例

    python列表字典排序的实现示例

    在Python中,对列表字典进行排序是一项常见的任务,本文主要介绍了python列表字典排序的实现示例,具有一定的参考价值,感兴趣的可以了解一下
    2023-09-09
  • python对指定目录下文件进行批量重命名的方法

    python对指定目录下文件进行批量重命名的方法

    这篇文章主要介绍了python对指定目录下文件进行批量重命名的方法,涉及Python中replace及join方法的使用技巧,非常具有实用价值,需要的朋友可以参考下
    2015-04-04
  • Python 中如何使用 setLevel() 设置日志级别

    Python 中如何使用 setLevel() 设置日志级别

    这篇文章主要介绍了在 Python 中使用setLevel() 设置日志级别,Python 提供了一个单独的日志记录模块作为其标准库的一部分,以简化日志记录,本文将讨论日志记录 setLevel 及其在 Python 中的工作方式,需要的朋友可以参考下
    2023-07-07
  • 利用Python生成文件md5校验值函数的方法

    利用Python生成文件md5校验值函数的方法

    这篇文章主要给大家介绍了利用Python生成文件md5校验值函数的方法,文中给出了详细的示例代码,对大家的学习或者工作具有一定的参考借鉴价值,有需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-01-01

最新评论