Сериализация объекта в JSON

Ответы:

52

Скачай https://github.com/douglascrockford/JSON-js/blob/master/json2.js, включи и сделай

var json_data = JSON.stringify(obj);
Йоханнес Вайс
источник
1
Должен ли я действительно включать "json2.js"? Кажется, работает без него.
Павел Алексеев
32
@PavelAlexeev Нет, вы больше не можете включать его json2.js, если только вы не нацелены на очень старые браузеры: современные браузеры включают встроенную реализацию JSONобъекта. Хорошая вещь о json2.jsтом, что он будет срабатывать, только если не найден какой-либо нативный объект. Смотрите [ stackoverflow.com/questions/891299/… для подробного описания поддержки браузера.
Эдурн Паскуаль
4

Просто чтобы обеспечить обратную совместимость, я загружаю JSON-библиотеку Crockfords из cloudflare CDN, если не поддерживается нативная поддержка JSON (для простоты использования jQuery):

function winHasJSON(){
  json_data = JSON.stringify(obj);
  // ... (do stuff with json_data)
}
if(typeof JSON === 'object' && typeof JSON.stringify === 'function'){
  winHasJSON();
} else {
  $.getScript('//cdnjs.cloudflare.com/ajax/libs/json2/20121008/json2.min.js', winHasJSON)
}
AvL
источник