我有一个如下的json,想要用jsonpath获取content列表中元素的个数,如下应该是2个。python中使用代码中的表达式获取不到,但是在http://jsonpath.com/ 上表达式是可以用的,谁知道是怎么回事吗。
d={
"code": "ok",
"data": {
"content": [{
"id": 93,
"mark": "test001",
"consumer": "测试"
}, {
"id": 94,
"mark": "test002",
"consumer": "测试"
}],
"last": 1
}
}
c='{"code": "ok","data": {"content": [{"id": 93,"mark": "test001","consumer": "测试"},{"id": 94,"mark": "test002","consumer": "测试"}],"last": 1}}'
c=json.loads(c)
print(jsonpath.jsonpath(c,"$..content.length")) #实际返回false
print(jsonpath.jsonpath(d,"$..content.length")) #实际返回false
需要调用两个库吧json,jsonpath
import json
import jsonpath
d={
"code": "ok",
"data": {
"content": [{
"id": 93,
"mark": "test001",
"consumer": "测试"
}, {
"id": 94,
"mark": "test002",
"consumer": "测试"
}],
"last": 1
}
}
c='{"code": "ok","data": {"content": [{"id": 93,"mark": "test001","consumer": "测试"},{"id": 94,"mark": "test002","consumer": "测试"}],"last": 1}}'
c=json.loads(c)
print(jsonpath.jsonpath(c,"$..content.length")) #实际返回false
print(jsonpath.jsonpath(d,"$..content.length")) #实际返回false