相关文章推荐

JsonPath为Json文档提供了解析能力,通过使用JsonPath,你可以方便的查找节点、获取想要的数据,JsonPath是Json版的XPath,正如XPath之于XML文档一样。

JsonPath语法

ps:JsonPath语法现在并没有形成统一的标准。

JsonPath语法要点:

$ 表示文档的根元素
@ 表示文档的当前元素
.node_name 或 ['node_name'] 匹配下级节点
[index] 检索数组中的元素
[start:end:step] 支持数组切片语法
* 作为通配符,匹配所有成员
.. 子递归通配符,匹配成员的所有子元素
(<expr>) 使用表达式
?(<boolean expr>)进行数据筛选

JsonPath基本用法_数据

注意:

  • JsonPath的索引从0开始计数
  • JsonPath中字符串使用单引号表示,例如:$.store.book[?(@.category=='reference')]中的'reference'

JsonPath示例

{
"store": {
"book": [{
"category": "reference",
"author": "Nigel Rees",
"title": "Sayings of the Century",
"price": 8.95
}, {
"category": "fiction",
"author": "Evelyn Waugh",
"title": "Sword of Honour",
"price": 12.99
}, {
"category": "fiction",
"author": "Herman Melville",
"title": "Moby Dick",
"isbn": "0-553-21311-3",
"price": 8.99
}, {
"category": "fiction",
"author": "J. R. R. Tolkien",
"title": "The Lord of the Rings",
"isbn": "0-395-19395-8",
"price": 22.99
}
],
"bicycle": {
"color": "red",
"price": 19.95
}
}
}

JsonPath基本用法_数组_02

python中使用jsonpath

import jsonpath

r={
"errcode": 0,
"errmsg": "ok",
"taglist": [
{
"tagid": 2,
"tagname": "修改后的标签名"
},
{
"tagid": 3,
"tagname": "test004"
},
{
"tagid": 4,
"tagname": "test005"
},
{
"tagid": 5,
"tagname": "test002"
}
]
}

# 从jsno数据中取值,判断数据是否在json中
def test_json():
res=jsonpath.jsonpath(r,'$..tagname')
print(res) # 返回一个数组
print(len(res))
assert 'test002' in res

结果:

['修改后的标签名', 'test004', 'test005', 'test002']

4


参考:




python 进程守护脚本 python守护进程运行

守护进程主进程创建子进程,然后将该进程设置成守护自己的进程,守护进程就好比崇祯皇帝身边的老太监,崇祯皇帝已死老太监就跟着殉葬了。 关于守护进程需要强调两点:其一:守护进程会在主进程代码执行结束后就终止 其二:守护进程内无法再开启子进程,否则抛出异常:AssertionError: daemonic processes are not allowed to have children如果我们有

python socket 对方ip python socketio client
websocket和socketIO是全然不同的两个东西,websocket的话 使用自带ws的库就可以完成一些功能,但是socketIO属于sw的另外一块内容 工作中遇到了一个监控socketIO传输的聊天信息监控的需求.研究了一阵 话不多说 上代码!from socketIO_client import SocketIO, BaseNamespace import time impor

python3两个整数相除 python中整数相除

python两种除法在Python中,有两种除法,一种除法是/:10 / 3 3.3333333333333335/除法计算结果是浮点数,即使是两个整数恰好整除,结果也是浮点数:9/3 3.0还有一种除法是//,称为地板除(floor),两个整数的除法仍然是整数:10 // 3 3整数的地板除//永远是整数,即使除不尽。要做精确的除法,使用/就可以。因为//除法只取结果的整数部分,所以Python

android 优化图片加载策略 安卓图片优化方案

为什么要进行图片优化?1、减少内存消耗  (容易造成OOM)2、App流畅度好3、减少流量损耗4、减少APK包大小5、提高用户体验什么是OOM? 简单的讲就是内存耗尽了。Android系统的进程(APP级别)有最大内存限制,超过这个限制系统就会抛出OOM错误。 图片OOM问题产生原因: 一个页面一次加载过多图片 加载大图片没有进行压缩(尺寸、质量) Android列表加载大量bitma

 
推荐文章