Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 05.02.2013, 12:26
Аватар для keysi_
Интересующийся
Отправить личное сообщение для keysi_ Посмотреть профиль Найти все сообщения от keysi_
 
Регистрация: 29.04.2009
Сообщений: 22

Ошибка парсинга JSON
Всем привет. Открыл для себя JSON. Пытаюсь разобраться. Создал небольшую тестовую функцию, но получаю странную ошибку при парсинге JSON файла. Подскажите, что я делаю не так.

// получение массива из JSON
xmlHttp.open("GET", "test.json", true);
xmlHttp.onreadystatechange = function(){
    if (xmlHttp.readyState == 4){
        if (xmlHttp.status == 200){
            var arr = JSON.parse(xmlHttp.responseText);
        }
    }
}
xmlHttp.send(null);


test.json:
Код:
{
  "var0": [
    { "id": 0, "num": 100},
    { "id": 1, "num": 101},
    { "id": 2, "num": 102}
  ],
  "var1": [
    { "id": 0, "num": 103},
    { "id": 1, "num": 104},
    { "id": 2, "num": 105}
  ],
  "var2": [
    { "id": 0, "num": 106},
    { "id": 1, "num": 107},
    { "id": 2, "num": 108}
  ]
}
Chrome пишет в консоли:
Uncaught SyntaxError: Unexpected token {
ссылаясь на строку 6 в JS: var arr = JSON.parse(xmlHttp.responseText);
Ответить с цитированием
  #2 (permalink)  
Старый 05.02.2013, 12:39
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

http://learn.javascript.ru/ajax-jsonp
http://www.jstoolbox.com/2009/03/18/chto-takoe-jsonp/
Ответить с цитированием
  #3 (permalink)  
Старый 05.02.2013, 12:43
Аватар для keysi_
Интересующийся
Отправить личное сообщение для keysi_ Посмотреть профиль Найти все сообщения от keysi_
 
Регистрация: 29.04.2009
Сообщений: 22

JSONP это библиотека, а я хочу сам разобраться во всём.
Блин, еще думал сразу написать, чтобы не советовали jquery, jsonp итп
Ответить с цитированием
  #4 (permalink)  
Старый 05.02.2013, 12:47
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Сообщение от keysi_
JSONP это библиотека,
- нет
=====================
http://learn.javascript.ru/json
Ответить с цитированием
  #5 (permalink)  
Старый 05.02.2013, 13:13
Аватар для keysi_
Интересующийся
Отправить личное сообщение для keysi_ Посмотреть профиль Найти все сообщения от keysi_
 
Регистрация: 29.04.2009
Сообщений: 22

Сообщение от Deff Посмотреть сообщение
- нет
=====================
Ну возможно, я не вникал в суть, все равно некая надстройка, не прямой путь.
Сообщение от Deff Посмотреть сообщение
http://learn.javascript.ru/json
Я очень уважаю Илью, но либо я ни чего не понял, либо я не понял как может помочь мне эта статья. Раз моя ошибка на столько наглядна для вас - укажите строку в статье, которую я, видимо по своей невнимательности, упускаю из виду.
Ответить с цитированием
  #6 (permalink)  
Старый 05.02.2013, 13:16
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,144

keysi_,
может всё дело в том что вы обьект не конвертировали в строку json?
попробуйте это поместить в test
{"var0":[{"id":0,"num":100},{"id":1,"num":101},{"id":2,"num ":102}],"var1":[{"id":0,"num":103},{"id":1,"num":104},{"id":2,"num ":105}],"var2":[{"id":0,"num":106},{"id":1,"num":107},{"id":2,"num ":108}]}

Последний раз редактировалось рони, 05.02.2013 в 13:19.
Ответить с цитированием
  #7 (permalink)  
Старый 05.02.2013, 13:20
Аватар для keysi_
Интересующийся
Отправить личное сообщение для keysi_ Посмотреть профиль Найти все сообщения от keysi_
 
Регистрация: 29.04.2009
Сообщений: 22

Блин. Оказывается я всё сделал правильно и всё работает!
Дело было в том что в строке, которую я чтобы сократить пост сюда не скопировал:
"var0": [
{ "id": 0, "num": 100},
{ "id": 1, "num": 101},
{ "id": 2, "num": 102},
{ "id": 3, "num": 103},
{ "id": 4, "num": 104},
{ "id": 5, "num": 105}
{ "id": 6, "num": 106},
{ "id": 7, "num": 107},
{ "id": 8, "num": 108},
{ "id": 9, "num": 109},
{ "id": 10, "num": 110},
{ "id": 11, "num": 11}

],

После строки { "id": 5, "num": 105} отсутствовала запятая

Приятно осознать что я всё таки не олень которого нужно в мануалы тыкать. Но вот моя невнимательность когда нибудь меня добьёт.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Почему ошибка с JSON OklickSpb AJAX и COMET 13 21.10.2012 13:40
проблема парсинга json с помощью jquery frolvict jQuery 15 16.09.2011 22:35
JSON или JSONP для запросов на другой сервер? Метод GET, для длинных сообщений? Kotakota jQuery 5 23.08.2011 23:12
jQuery. Обработка ошибок и JSON. mma_mma jQuery 3 19.07.2010 12:10
Ошибка в jquery.forms ? Помогите разобраться. Ксандер jQuery 10 26.08.2009 18:39