infoList= {
"Response": {
"RequestId": "9d268c8f-26c4-d41d-cdcd-4f46c581100a",
"Data": [
{
"Id": 1000001,
"ProjectCode": 110022,
"ProjectName": "易方达",
"Info":{
"card":13132123123,
"bank_name":"中国银行"
}
},
{
"Id": 1000002,
"ProjectId": 165519,
"ProjectName": "中证800医药",
"Info":{
"card":16455231231,
"bank_name":"工商银行"
}
},
{
"Id": 1000003,
"ProjectId": 516160,
"ProjectName": "南方中证新能源",
"Info":{
"card":16455231231,
"bank_name":"农业银行"
}
}
]
}
}
# 获取匹配该数据的列表(若不匹配返回空列表) > [{‘Id‘: 1000003, ‘ProjectId‘: 516160, ‘ProjectName‘: ‘南方中证新能源‘, ‘Info‘: {‘card‘: 16455231231, ‘bank_name‘: ‘农业银行‘}}]
result = list(filter(lambda x: x["ProjectName"] == "南方中证新能源", infoList["Response"]["Data"]))
print(result)
from jsonpath import jsonpath
# 1. 获取指定数据 > [‘易方达‘, ‘中证800医药‘, ‘南方中证新能源‘]
print(jsonpath(infoList, "$..ProjectName"))
# 2. 获取第一条"bank_name" > [‘易方达‘]
print(jsonpath(infoList, "$.Response.Data[0].ProjectName"))
# 3. 不存在返回 False
print(jsonpath(infoList, "$.Response.Total"))
原文:https://www.cnblogs.com/test-works/p/15206615.html