Как получить значение из вывода JSON? - PullRequest
2 голосов
/ 18 июля 2010

Я новичок в JSON. У меня есть вывод JSON, который выглядит так

[
    {
        "employees": {
            "education": "BE\/B.Tech"
        },
        "0": {
            "count": "1"
        }
    },
    {
        "employees": {
            "education": "MBA"
        },
        "0": {
            "count": "3"
        }
    }
]

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

Я ценю любую помощь.

Спасибо.

1 Ответ

10 голосов
/ 18 июля 2010

Если ваша строка JSON находится в переменной $json, она выглядит следующим образом:

var employees_list = JSON.parse($json);

Затем вы можете получить доступ к информации через:

employees_list[0].employees.education // gives you "BE\/B.Tech"
// and
employees_list[0]["0"].count // gives you 1.

Вы также можете выполнить циклчерез массив и доступ ко всем различным education таким образом.

Обновление:

Чтобы лучше продемонстрировать, какое выражение обращается к какой информации:

[                                      // employees_list
    {                                  // employees_list[0]
        "employees": {                 // employees_list[0].employees
            "education": "BE\/B.Tech"  // employees_list[0].employees.education
        },
        "0": {                         // employees_list[0]["0"]
            "count": "1"               // employees_list[0]["0"].count
        }
    }, 
    {                                  // employees_list[1]
        "employees": {                 // employees_list[1].employees
            "education": "MBA"         // employees_list[1].employees.education
        },
        "0": {                         // employees_list[1]["0"]
            "count": "3"               // employees_list[1]["0"].count
        }
    }
]

Обычно employees_list[0].employees совпадает с employees_list[0]["employees"], но это не работает для чисел, поскольку свойства и переменные не могут начинаться с чисел.Таким образом, вы можете только использовать employees_list[0].["0"] , а не employees_list[0].0.


Структура вашей строки JSON выглядит немного странно.Вам следует по-разному структурировать его, если можете.

Например:

[
    {
        "education": "BE\/B.Tech",
        "count": "1"
    },
    {
        "education": "MBA"
        "count": "3"
    }
]

Ключ "0" в исходной строке JSON, кажется, не имеет смысла и просто усложняет доступ.

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