Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 10.07.2012, 16:37
Новичок на форуме
Отправить личное сообщение для Nerfair Посмотреть профиль Найти все сообщения от Nerfair
 
Регистрация: 10.07.2012
Сообщений: 6

Разбираем вывод JSON'a
Такое дело, разбираю вывод JSON'a

{ "error" : 0, "questions" : [ { "id" : 1, "text" : "Размер планеты", "correct_answer_id" : 3, "options" : [ { "id" : 1, "text" : "Маленькая"}, { "id" : 2, "text" : "Средняя"}, { "id" : 3, "text" : "Большая"} ] } ] }


var xhr = new XMLHttpRequest();
    xhr.open("GET", "http://" + SERVER_URL + "/get-questions-pack.php", true);
    xhr.setRequestHeader('Accept-Encoding', 'gzip');

    xhr.onreadystatechange =
            function() {
                if (xhr.readyState == xhr.DONE) {
                    if (xhr.status == 200) {
                        var result = JSON.parse(xhr.responseText);
                        switch (result["error"]) {

                            // No error
                            case 0: {
                            }
                            break;

                            // Error
                            case 1: {
                            }
                            break;
                        }
                    }
                    else {
                    }
                }
            }
    xhr.send();


Как видим, до поля error я достучаться смог, а как мне обработать question?

--

Включил мозги и заработало.
result["questions"]["0"]["id"]

Последний раз редактировалось Nerfair, 10.07.2012 в 16:58.
Ответить с цитированием
  #2 (permalink)  
Старый 10.07.2012, 16:55
Аватар для vadim5june
Студент
Отправить личное сообщение для vadim5june Посмотреть профиль Найти все сообщения от vadim5june
 
Регистрация: 30.04.2012
Сообщений: 1,113

Сообщение от Nerfair Посмотреть сообщение
Как видим, до поля error я достучаться смог, а как мне обработать question?
да если напишем alert(result.error) то получим 0 а чтобы найти результат например "correct_answer_id" нужно написать
alert(result["questions"][0]["correct_answer_id"]);
итд
Ответить с цитированием
  #3 (permalink)  
Старый 10.07.2012, 16:58
Новичок на форуме
Отправить личное сообщение для Nerfair Посмотреть профиль Найти все сообщения от Nerfair
 
Регистрация: 10.07.2012
Сообщений: 6

Сообщение от vadim5june Посмотреть сообщение
да если напишем alert(result.error) то получим 0 а чтобы найти результат например "correct_answer_id" нужно написать
alert(result["questions"][0]["correct_answer_id"]);
итд
Да, спасибо, именно так работает!
Ответить с цитированием
  #4 (permalink)  
Старый 10.07.2012, 17:04
Аватар для vadim5june
Студент
Отправить личное сообщение для vadim5june Посмотреть профиль Найти все сообщения от vadim5june
 
Регистрация: 30.04.2012
Сообщений: 1,113

Сообщение от Nerfair Посмотреть сообщение
Да, спасибо, именно так работает!
если встречаются квадратные скобки-массив-нужно искать по индексу-
result["questions"][0]
а если фигурные -объект то по названию
result["questions"][0]["id"]

Последний раз редактировалось vadim5june, 10.07.2012 в 17:06.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывод выбранных данных и проверка checkbox MasterHrust Javascript под браузер 3 28.09.2011 17:44
Вывод переменных MasterHrust Javascript под браузер 4 03.08.2011 15:41
Вывод данных в Друпал 6 из MySQL, небольшая работа torquemada Работа 1 22.05.2011 17:05
вывод картинки и vrml mister_maxim Events/DOM/Window 16 12.01.2010 17:40
Пошаговый вывод скрипта для IE всех версий. Zidky Элементы интерфейса 10 17.06.2009 18:27