web-dev-qa-db-fra.com

Extraire un sous-ensemble d'attributs avec JSONPath

J'ai ce code JSON:

{
    "A": {
        "AB": [{
            "ABA": "0",
            "ABB": "1",
            "ABC": "2"
        }]
    }
}

J'ai besoin d'utiliser une expression JSONPath qui renvoie ce JSON avec uniquement des attributs ABA et ABC. Quelque chose comme:

{
    "A": {
        "AB": [{
            "ABA": "0",
            "ABC": "2"
        }]
    }
}

Jusqu'à présent, j'arrive à extraire un ou tous les attributs. Par exemple

$.A.AB[*]

ou

$.A.AB[*].ABA

Existe-t-il un moyen d'extraire seulement deux?

Merci

19
Spaffo

Cela fonctionnera en utilisant l'implémentation Jayway (Java):

$.A.AB[*]['ABB', 'ABA']

et le résultat de votre entrée serait:

[
   {
      "ABB" : "1",
      "ABA" : "0"
   }
]

Vous pouvez comparer différents fournisseurs ici:

http://jsonpath.herokuapp.com/

28
kalle