javascript / jquery с использованием переменной для ссылки на различные части объекта json / xml - PullRequest
0 голосов
/ 29 октября 2010

Я хотел бы создать функцию, которая может работать с JSON в следующем вложенном формате.Ключи изменятся, т. Е. Условия - могут быть чем угодно, а ключ подусловия может быть любым, но структура остается неизменной.

Моя функция определена как

  populatePageEditorMenu: function (jsonPath, topLevel, childLevel){  

и вызывается

 populatePageEditorMenu("http://localhost/data/conditions.json", 'conditions', 'subcondition' );

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

Сследующий JSON

{
    "conditions": [
        {
            "condition": [
                {
                    "name": "TOP",
                    "subcondition": [
                        {
                            "name": "CHILD1"
                        }
                    ]
                }
            ]
        }
    ]
}

Я могу ссылаться на условия верхнего уровня как таковые, используя квадратные скобки ..

$.getJSON(jsonPath,
                    function(data) {
                        $.each(data[topLevel], function(topentryIndex, entry) {

Это работает хорошо!

Проблематичный подраздел не кажетсядля работы, которую я имел до этого, используя paramaterized, использовал следующее ... Квадратные скобки здесь не работают ...

$.each(this.subcondition, function(entryIndex, entry) { ....

Я разместил более полную версию на jsfiddle, в которой JSON можно увидетьпредставление CSS.

Ссылка - http://jsfiddle.net/wmitchell/QRkxd/

1 Ответ

0 голосов
/ 29 октября 2010

Спасибо за просмотр этих извинений, ребята, мне, вероятно, было трудно объяснить, что я преследовал.

По сути, я хотел знать, могу ли я использовать переменные для представления полей, к которым я пытался получить доступ вобъект

Я мог использовать такие вещи, как

$.each(data[topLevel], function(topentryIndex, entry) {

Где toplevel был строковым представлением поля в объекте

и

 this["variablename"]

сделать это

Спасибо за просмотр.У меня было несколько ошибок в моем JSON, что, вероятно, не помогло.Не уверен, стоит ли мне оставлять этот пост или удалять его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...