Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   проблема с JSON (https://javascript.ru/forum/misc/35984-problema-s-json.html)

rudolfe 28.02.2013 02:01

проблема с JSON
 
Привет всем!Скажите пожалуйста почему не работает такой вот код:
var jtext = [{"userid":"1023456789","ignorbattles":"5"}][{"userid":"1023456789","ignorbattles":"5"},{"userid":"1023456789","ignorbattles":"2"}];
var info = JSON.parse(jtext);
document.getElementById("exampleBlock").innerHTML=info[0].userid;

P.S.пожалуйста не пишите лишнего,только ответ или какие-нибудь хорошие советы для решения проблемы!Спасибо!:thanks:

рони 28.02.2013 02:37

rudolfe,
var jtext = '[{"userid":"1023456789","ignorbattles":"5"},{"userid":"1023456789","ignorbattles":"5"},{"userid":"1023456789","ignorbattles":"2"}]'
var info = JSON.parse(jtext);
alert(info[0].userid)

danik.js 28.02.2013 02:43

JSON.parse() принимает в качестве аргумента строку. У вас не строка, а литерал. А значит вам не нужны никакие JSON.parse. Это первое.
Второе: у вас синтаксическая ошибка при объявлении литерала. Должно быть так:

var jtext = [{"userid":"1023456789","ignorbattles":"5"}, {"userid":"1023456789","ignorbattles":"5"},{"userid":"1023456789","ignorbattles":"2"}];
alert(jtext[0].userid);

Кстати ключи можно писать без кавычек (это при объявлении литералов. Но в JSON строке кавычки обязательны).

Будьте внимательны и не задавайте глупых вопросов. И уж тем более не диктуйте свои правила для ответов. Есть правила форума, а ваши правила никого не интересуют.

rudolfe 28.02.2013 11:55

наверно извинюсь и скажу что JSON данные это извлечённые из БД и перекодированные в JSON данные....и вот прямой код из скрипта выглядит так:
...
 if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    var info = JSON.parse(xmlhttp.responseText);
    document.getElementById("content").innerHTML=info[0].userid;
    }
...


Часовой пояс GMT +3, время: 06:48.