JSONPath-Ausdruck, der einen Wert aus einem array auf Zustand oder nur der erste Wert

Gegeben JSON wie folgt aufgebaut:

{
   "name":"Some Guy",
   "emails":[
      {
         "description":"primary",
         "status":"UNVERIFIED",
         "email":"[email protected]"
      },
      {
         "description":"home",
         "status":"VERIFIED",
         "email":"[email protected]"
      },
      {
         "description":"away",
         "status":"VERIFIED",
         "email":"[email protected]"
      }
   ]
}

Ich würde gerne eine JSONPath Ausdruck, um die ersten E-Mail mit dem status VERIFIED und wenn keine vorhanden sind, dann bekommen nur die erste E-Mail in das array. So, angesichts der oben genannten Beispiel wäre das Ergebnis [email protected]. Angesichts dieses Beispiel:

{
   "name":"Some Guy",
   "emails":[
      {
         "description":"primary",
         "status":"UNVERIFIED",
         "email":"[email protected]"
      },
      {
         "description":"home",
         "status":"UNVERIFIED",
         "email":"[email protected]"
      }
   ]
}

wäre das Ergebnis [email protected].

Ist das möglich mit einem JSONPath Ausdruck?

Die JSONPath Implementierung verwenden Sie? Tun Sie müssen dies tun, in einem Ausdruck?
Heute bin ich mit dem jayway Java-Implementierung, aber wenn Sie andere Implementierungen, die funktionieren würde, könnte ich herausfinden, wie zu integrieren, die Umsetzung. Ich hatte im Sinn, es zu tun in einem einzigen Ausdruck ja, aber wenn Sie hatte eine Weg, wo es sein könnte, ausgedrückt als eine Kette von Ausdrücken, ich würde offen sein, wenn man bedenkt, dass. Es kann einfach nicht verlangen, meine eigene Java-oder Javascript-code zu verarbeiten Zwischenergebnisse.

InformationsquelleAutor jhericks | 2017-01-04

Schreibe einen Kommentar