JQuery и JSON: получение элемента по имени - PullRequest
4 голосов
/ 11 февраля 2010

У меня есть следующий JSON:

var json = { "система": { "Мир" : { "действия": { "Привет" : { "src": "привет мир / привет мир.js", "команда": "helloWorld" } } } } }

У меня есть следующий javascript:

var x = "system";
// получить содержимое системы, выполнив что-то вроде json.getElementByName (x)

Как получить содержимое системы, используя json и x в jQuery?

Ответы [ 3 ]

10 голосов
/ 11 февраля 2010

Просто используйте:

var x = "system";
json[x];

Это key/value система поиска, и для ее использования не требуется вызов функции.

4 голосов
/ 11 февраля 2010

Насколько мне известно, 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;
}

Должно быть очевидно, что я не проводил эту функцию через сложный процесс обеспечения качества.

1 голос
/ 16 июня 2012

Попробуйте использовать JSON Path , это похоже на выражение XPath.

...