- No Safe Word
- Feb 26, 2005
-
|
MonkeyMaker posted:
OK, I have a JSON object with two sub-objects. How do I reference a sub-object by name, not index?
Here's the JSON:
code:{"menus":
[
{"buckets":
[
{"name":"item name", "price":"9.99", "description":"item description"},
{"name":"item name", "price":"9.99", "description":"item description", "subs":
[
{"name":"item name", "price":"9.99"}
]
},
{"name":"item name", "price":"9.99", "description":"item description"}
]
},
{"baskets":
[
{"name":"item name", "price":"9.99", "description":"item description2"},
{"name":"item name", "price":"9.99", "description":"item description2", "subs":
[
{"name":"item name", "price":"9.99"}
]
},
{"name":"item name", "price":"9.99", "description":"item description2"}
]
}
]
}
which validates as...valid...on jsonlint.com. I can access ['menus'] or ['menus'][0], but trying to get ['menus']['buckets'] fails. I have to be able to do this by name since it'll be client-updated as plain text.
But what you have is a one-item mapping of "menus" to a list of two other one-item mappings with keys of "buckets" and "baskets".
You want something like:
code:{"menus":
{"buckets":
[ ... stuff ... ],
"baskets":
[ ... stuff ... ]
}
}
The first set of brackets means you have a list of things, and you can only access stuff by index in a list.
|
#
¿
Apr 22, 2009 01:11
|
|
- Adbot
-
ADBOT LOVES YOU
|
|
#
¿
May 7, 2024 19:32
|
|