Как получить доступ к элементам JSON динамически через Javascript? - PullRequest
0 голосов
/ 30 июня 2011

Мой файл Json:

    {
  "root": {
    "Quizsize": null,
    "{urn:abc.com/xmlns/mona/page}page": [
      {"{urn:abc.com/xmlns/mona/page}nut": {
              "{urn:abc.com/xmlns/mona/page}uttering": {
                "{urn:abc.com/xmlns/mona/utterance}info": null,
                "{urn:abc.com/xmlns/mona/utterance}utterance": {
                  "@lang": "fr",
                  "{urn:abc.com/xmlns/mona/utterance}ezread": {
                    "@text": "",
                    "@lang": "fr",
                    "@kind": "standard",
                    "@type": "ezread"
                  },
                  "{urn:abc.com/xmlns/mona/utterance}translation": {
                    "@text": "How much does it cost?",
                    "@lang": "en",
                    "@kind": "standard",
                    "@type": "translation"
                  },
                  "{urn:abc.com/xmlns/mona/utterance}native": {
                    "@text": "",
                    "@lang": "fr",
                    "@kind": "standard",
                    "@type": "native"
                  },
                  "{urn:abc.com/xmlns/mona/utterance}phonetic": {
                    "@text": "",
                    "@lang": "fr",
                    "@kind": "standard",
                    "@type": "phonetic"
                  },
                  "@anchor": "native"
                }
              }
            }
            ]

      }
    }

}

Мне нужно получить доступ к свойству @text в зависимости от значения в свойстве @anchor:

так что мои шаги для доступа:
1. Загрузите этот JSON в переменную урока.
2. Получить корневой элемент (lessonPages = lesson.root)
3. Теперь получите доступ к значению свойства @anchor через код ниже:
text = lessonPages ["{urn: abc.com/xmlns/mona/page}"] ["{urn: abc.com/xmlns/mona/page} nut"] ["{urn: abc.com/ XMLNS / мона / страница} произнесения "] [" {урна: abc.com/xmlns/mona/utterance} произнесение "] [" @ якорь "]

Теперь у меня есть значение @anchor в текстовой переменной, которое является "нативным". Теперь, как я могу использовать значение текстовой переменной для доступа к @text в "{urn: abc.com/xmlns/mona/utterance} native"

Примечание. Значение свойства @anchor не является фиксированным. Это может быть что угодно, поэтому сначала нужно прочитать его, а затем - @text в зависимости от этого.

1 Ответ

0 голосов
/ 30 июня 2011

Это просто строка.Вы можете объединять строки как обычно.

foo["{urn:abc.com/xmlns/mona/utterance}" + someStringVariable]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...