Trouvez efficacement une valeur-clé dans JSON avec JAVA
Je veux savoir si une paire clé-valeur existe dans un JSON donné une clé. Cette paire clé-valeur peut ne pas être sous root. Il est possible intégré profondément dans le document. Par exemple:
{"Persons":[
{"Person":
{"name":"john"}
}]
}
Et je veux avoir quelque chose comme JsonDoc.a("nom"), et renvoie la valeur true. Je recherche en ligne et trouve ce fil: Java: Json a key / field
Deux réponses (minimal-json et org.json) les deux ont des fonctions appelées has() ou get(), mais j'ai regardé dans leur code source, ils sont tous les deux essayer de trouver la clé-valeur sous root. Ils ne répondent donc pas à mes besoins.
Je peux penser à parcourir tout le json et essayer de trouver la valeur-clé, mais cela ne semble pas efficace.
1 answers
Si vous utilisez Jackson, vous pouvez appeler findParent
sur un JsonNode qui recherchera un champ dans le nœud ou son descendant.