data: [
{
"name": "mark",
"age": "20"
},
{
"name": "john",
"age": "10"
}
]
Wie kann man in diesem Fall ein Alter von mehr als 10 Jahren erreichen?
Beispielcode:
JsonPath.read(json, "$.data[?(@.age > 10)]");
Dies kann mit der JsonPath-Bibliothek von Jayway erfolgen. Erstens ist die von Ihnen gezeigte JSON nicht gut für die Verarbeitung, die Umhüllung { }
fehlt. Zweitens funktioniert der Vergleichsoperator von Jayway, wenn Sie die Zahl als String testen (Es ist ein bisschen seltsam, aber die Bibliothek führt die erforderliche Umwandlung intern auf diese Weise durch).
Also mit diesem JSON:
{
"data":[
{
"name":"mark",
"age":"20"
},
{
"name":"john",
"age":"10"
}
]
}
Und dieser Filter:
$.data[?(@.age > '10')]
Sie erhalten das erwartete Ergebnis [{"name" : "mark", "age" : "20"}]
. Hier können Sie es online testen .
Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.
Bei Verstößen wenden Sie sich bitte [email protected] Löschen.
Lass mich ein paar Worte sagen