Supposons que j'ai un tableau JSON comme ceci:Recherche clé/valeur profondément imbriquée dans JSON
[
{
"id": "429d30a1-9364-4d9a-92e0-a17e00b3afba",
"children": [],
"parentid": "",
"name": "Expo Demo"
},
{
"id": "f80f1034-9110-4349-93d8-a17e00c9c317",
"children":
[
{
"id":"b60f2c1d-368b-42c4-b0b2-a1850073e1fe",
"children":[],
"parentid":"f80f1034-9110-4349-93d8-a17e00c9c317",
"name":"Tank"
}
],
"parentid": "",
"name": "Fishtank"
},
{
"id": "fc8b0697-9406-4bf0-b79c-a185007380b8",
"children": [
{
"id":"5ac52894-4cb6-46c2-a05a-a18500739193",
"children":[
{
"id": "facb264c-0577-4627-94a1-a1850073c270",
"children":[
{
"id":"720472b5-189e-47f1-97a5-a18500a1b7e9",
"children":[],
"parentid":"facb264c-0577-4627-94a1-a1850073c270",
"name":"ubSubSub"
}],
"parentid": "5ac52894-4cb6-46c2-a05a-a18500739193",
"name": "Sub-Sub1"
}],
"parentid":"fc8b0697-9406-4bf0-b79c-a185007380b8", "name":"Sub"
},
{
"id":"4d024610-a39b-49ce-8581-a18500739a75",
"children":[],
"parentid":"fc8b0697-9406-4bf0-b79c-a185007380b8",
"name":"Sub2"
}
],
"parentid": "",
"name": "Herman"
},
{
"id": "a5b140c9-9987-4e6d-a883-a18c00726883",
"children": [
{
"id":"fe103303-fd5e-4cd6-81a0-a18c00733737",
"children":[],
"parentid":"a5b140c9-9987-4e6d-a883-a18c00726883",
"name":"Contains Spaces"
}],
"parentid": "",
"name": "Kiosk"
}
]
Non Je veux trouver un certain objet basé sur un identifiant et une fois que j'ai, je besoin de ses enfants et tous ses childrends enfants
donc dire que je LETs veux trouver l'élément avec un id si 4d024610-a39b-49ce-8581-a18500739a75
Cela devrait trouver l'élément Sub2
Et maintenant, il devrait produire tous les éléments de l'enfant sorcière ids sera:
facb264c-0577-4627-94a1-a1850073c270
720472b5-189e-47f1-97a5-a18500a1b7e9
Disons que je ferais
findElementsChildren("4d024610-a39b-49ce-8581-a18500739a75")
donc je suppose que ses deux parties, d'abord trouver le « parent » élément. Alors trouvez ses enfants childrends enfants etc ..
Toute aide serait très appréciée!
Eh bien, je peux trouver l'élément, mais je ne sais pas comment je trouverais les enfants de ses enfants. Les enfants pourraient être imbriqués sans limite. J'ai fait le même genre de chose en Javascript. – Harry
Peut-être pourriez-vous essayer d'utiliser une bibliothèque [JsonPath] (http://code.google.com/p/json-path/) pour interroger la structure? – Jonathan
Le javascript était en fait juste de trouver un élément imbriqué profondément dans un tableau/objet json. Cela va un peu plus loin, en trouvant tous ses enfants. Je ne sais pas comment je ferais cela, donc l'algorithme – Harry