Ausgabe
Ich möchte Wert aus dynamischem JSON extrahieren.
Diese Generation ist jedes Mal anders, wenn sie ausgeführt wird. Ich muss ex: XLIfccMNLv1asVam3QuatowCmrp8IYuE0FUDMYncegs= erhalten, das an einem anderen Ort in der Json-Datei mit einem anderen Wert generiert wird
Ich habe es mit versucht.
$.payload[?(@.eventType == 'AAA')].entityId
was gut funktioniert. Aber ich möchte eine stärkere Abfrage.
Ist es möglich, die &&-Anweisung mit der Abfrage wie folgt zu verwenden:
$.payload[?(@.eventType == 'AAA')&&(@.outgoingCurrency== 'EUR')].entityId
Meine Nutzlast:
{
"payload":[
{
"entityId":"qvr_IlDhTdzldeccxguNR84sE0N78DUfNGzwH-3pY7Y=",
"accountHolderId":"dvwxpTxVHdo2n1d5ytO6WyhnI2nuaEuzsh47agPpSFU=",
"processorType":"DUMMY",
"eventType":"AAA",
"outgoingCurrency":"USD",
"holdPeriodInHours":11,
"disabled":false
},
{
"entityId":"XLIfccMNLv1asVam3QuatowCmrp8IYuE0FUDMYncegs=",
"accountHolderId":"Xoo8uAM90qRT7kceDUJBIIqafUuUdH2fH_Ia2z1TY5w=",
"processorType":"DUMMY",
"eventType":"BBB",
"outgoingCurrency":"EUR",
"holdPeriodInHours":10,
"disabled":false
},
{
"entityId":"yBoHvYkyszaQpaFe1zvqCY416_vYiq7iivA9bWJhiTg=",
"processorType":"BMO_CPR",
"eventType":"AAA",
"disabled":false
}
]
}
Lösung
Sie müssen die Operation && innerhalb des Ausdrucks verwenden: $.payload[?(@.outgoingCurrency== ‘EUR’ && @.eventType == ‘AAA’)].entityId.
Weitere Details finden Sie unter: https://goessner.net/articles/JsonPath/
Beantwortet von – Samuel Teixeira
Antwort geprüft von – Terry (FixError Volunteer)