websofter
@websofter
Programmer...

Почему один и тот же JSON не переводится из строки в объект в JavaScript?

В общем, оформил проблему в песочнице на jsFiddle https://jsfiddle.net/WebSofter/wdnkhszp/

Вот весь код
//Случай 1. Есть такой JSON объект

var data1 = {"pages":"only","menu":[{"skrytoe-menyu":[{}]},{"services":[{"field_3":{"id":"201","menutype":"services","alias":"iphone-remont","title":"Ремонт IPhone","parent_id":"1"},}]},{"mainmenu":[{"field_8":{"id":"1227","menutype":"mainmenu","alias":"joomprice","title":"JoomPrice","parent_id":"881"}}]},{"kompaniya":[{"field_4":{"id":"234","menutype":"kompaniya","alias":"blog","title":"Контакты","parent_id":"1"},"field_5":{"id":"242","menutype":"kompaniya","alias":"contact-page","title":"Contact Us","parent_id":"1"},"field_6":{"id":"243","menutype":"kompaniya","alias":"about-us-page","title":"О нас","parent_id":"1"},"field_7":{"id":"244","menutype":"kompaniya","alias":"products-page","title":"Products","parent_id":"1"},}]},{"droptables":[{}]}]};

//Гоняю в строку
var str1 = JSON.stringify(data1);
//Гоняю обратно в объект
var json1 = JSON.parse(str1);
//Все выводится все ок
console.log(json1);

//Случай 2. Есть тот же JSON объект в виде строки

var data2 = '{"pages":"only","menu":[{"skrytoe-menyu":[{}]},{"services":[{"field_3":{"id":"201","menutype":"services","alias":"iphone-remont","title":"Ремонт IPhone","parent_id":"1"},}]},{"mainmenu":[{"field_8":{"id":"1227","menutype":"mainmenu","alias":"joomprice","title":"JoomPrice","parent_id":"881"}}]},{"kompaniya":[{"field_4":{"id":"234","menutype":"kompaniya","alias":"blog","title":"Контакты","parent_id":"1"},"field_5":{"id":"242","menutype":"kompaniya","alias":"contact-page","title":"Contact Us","parent_id":"1"},"field_6":{"id":"243","menutype":"kompaniya","alias":"about-us-page","title":"О нас","parent_id":"1"},"field_7":{"id":"244","menutype":"kompaniya","alias":"products-page","title":"Products","parent_id":"1"},}]},{"droptables":[{}]}]}';

//Пытаюсь гонять в объект и бац ошибка
var json2 = JSON.parse(data2);
console.log(json2);
  • Вопрос задан
  • 109 просмотров
Решения вопроса 1
0xD34F
@0xD34F
Лишние запятые после последнего свойства в объекте. В js так можно, в json'е - нет.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы