Код: Выделить всё
{
"accessRequestId": "2c91808b6ef1d43e016efba0ce470904",
"requestedBy": {
"type": "IDENTITY",
"id": "2c91808568c529c60168cca6f90c1313",
"name": "William Wilson"
},
"requestedItemsStatus": [{
"id": "2c91808b6ef1d43e016efba0ce470904",
"name": "Engineering Access",
"description": "Access to engineering database",
"type": "ACCESS_PROFILE",
"operation": "Add",
"comment": "William needs this access to do his job.",
"clientMetadata": {
"applicationName": "My application"
},
"approvalInfo": [{
"approvalComment": "This access looks good. Approved.",
"approvalDecision": "APPROVED",
"approverName": "Stephen.Austin",
"approvers": [{
"type": "IDENTITY",
"id": "2c91808568c529c60168cca6f90c1313",
"name": "William Wilson"
}
]
}
]
}, {
"id": "2c91808b6ef1d43e016efba0ce470904",
"name": "Engineering Profile",
"description": "Access to engineering database",
"type": "ACCESS_PROFILE",
"operation": "Add",
"comment": "William needs this access to do his job.",
"clientMetadata": {
"applicationName": "My application"
},
"approvalInfo": [{
"approvalComment": "This access looks good. Approved.",
"approvalDecision": "NOTAPPROVED",
"approverName": "Stephen.Austin",
"approvers": [{
"type": "IDENTITY",
"id": "2c91808568c529c60168cca6f90c1313",
"name": "William Wilson"
}, {
"type": "IDENTITY PROFILE",
"id": "2c91808568c529c60168cca6f90c1313",
"name": "Jack Blue"
}
]
}, {
"approvalComment": "This access looks good. Approved.",
"approvalDecision": "ABSENT",
"approverName": "Steven.Spielberg",
"approvers": [{
"type": "IDENTITY",
"id": "2c91808568c529c60168cca6f90c1313",
"name": "William Wilson"
}, {
"type": "IDENTITY PROFILE",
"id": "2c91808568c529c60168cca6f90c1313",
"name": "Luke Skywalker"
}
]
}
]
}
]
}
Если я использую следующий JsonPath, я получу правильный результат:
Код: Выделить всё
$.requestedItemsStatus[*].approvalInfo[?(@.approvers[1].name=='Luke Skywalker')]
после некоторых моих предварительных неудачных попыток:
Код: Выделить всё
$.requestedItemsStatus[*].approvalInfo[?(@.approvers[*].name=='Luke Skywalker')]
Код: Выделить всё
$.requestedItemsStatus[*].approvalInfo[?(@.approvers[?(@.name =='Luke Skywalker')])]
Код: Выделить всё
$.requestedItemsStatus[*].approvalInfo[?(@.approvers[?(@.type=='IDENTITY PROFILE')].name=='Luke Skywalker')]
может ли кто-нибудь помочь мне найти общий запрос jsonpath? почему мои попытки не увенчались успехом?
---UDATE----
хорошо, я обнаружил, что проблема связана с java-библиотекой, я использую com.jayway.jsonpath.json-path, есть ли у кого-нибудь обходной путь для решения проблемы?
Подробнее здесь: https://stackoverflow.com/questions/798 ... conditions
Мобильная версия