Serialisasi objek ke JSON

211

Bagaimana saya bisa membuat serialisasi objek ke JSON dalam JavaScript?

maxaposteriori
sumber

Jawaban:

52

Unduh https://github.com/douglascrockford/JSON-js/blob/master/json2.js, sertakan dan lakukan

var json_data = JSON.stringify(obj);
Johannes Weiss
sumber
1
Haruskah saya benar-benar perlu memasukkan "json2.js"? Tampaknya bekerja tanpa itu.
Pavel Alexeev
32
@PavelAlexeev Tidak, Anda tidak perlu json2.jslagi memasukkan , kecuali jika Anda menargetkan browser yang sangat lama: browser modern menyertakan implementasi asli JSONobjek. Hal yang baik tentang json2.jsitu hanya akan menendang jika tidak ada objek asli ditemukan. Lihat [ stackoverflow.com/questions/891299/… untuk rincian perincian dukungan browser.
Edurne Pascual
4

Hanya agar tetap kompatibel, saya memuat Crockfords JSON-library dari cloudflare CDN jika tidak ada dukungan JSON asli yang diberikan (untuk kesederhanaan menggunakan 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)
}
Av
sumber