jQuery и JSON: получение элемента по имени
У меня есть следующий JSON:
var json = {"system": {"world": {"actions": {"hello": {"src": "hello world / hello world.js", "command": "helloWorld"}}}}}
У меня есть следующий JavaScript:
var x = "system";
// получить содержимое системы, выполнив что-то вроде json.getElementByName(x)
Как мне получить содержимое системы используя json
а также x
в jQuery?
3 ответа
Просто используйте:
var x = "system";
json[x];
Это key/value
система поиска, и для ее использования не требуется вызов функции.
Ну, насколько мне известно, jQuery не перемещается по произвольным объектам подобным образом - только DOM. Вы можете написать небольшую функцию для этого:
function findSomething(object, name) {
if (name in object) return object[name];
for (key in object) {
if ((typeof (object[key])) == 'object') {
var t = findSomething(object[key], name);
if (t) return t;
}
}
return null;
}
Должно быть очевидно, что я не выполнял эту функцию через сложный процесс обеспечения качества.
Попробуйте использовать JSON Path, это похоже на выражение XPath.