Это НОРМАЛЬНЫЙ
Чтобы десериализовать строку в объект и предполагая, что вы ориентируетесь на современные браузеры, вы можете использовать встроенную функцию для:
var myObj = JSON.parse($.cookie('json_string'));
Или вы можете импортировать json2.js с официального сайта JSON и использовать ту же строку, что и выше.
Или, , как указано в subhaze , вы можете быть полностью jQuery-y и использовать:
var myObj = jQuery.parseJSON('{"name":"John"}');
Примечание о кодировке URL
Если строка закодирована в файле cookie, вам необходимо сначала ее декодировать, используя decodeURIComponent()
, например:
var myObj = JSON.parse(decodeURIComponent($.cookie('json_string')))
Примечание о цитируемых ключах
Ваш JSON на самом деле недействителен, так как требует ключей в двойных кавычках. Вы должны использовать двойные кавычки ("
), чтобы обернуть вокруг ваших ключей и строковых значений.
Проверить
Чтобы быстро проверить правильность вашего JSON, попробуйте JSONLint .
Ваш вопрос очень похож на другие. Поэтому в будущем сначала обязательно проверьте похожие вопросы, проверив тег JSON или в поиске вашей проблемы .
.