Serialisierung eines Objekts in JSON

211

Wie kann ich ein Objekt in JavaScript in JSON serialisieren?

maxaposteriori
quelle

Antworten:

52

Laden Sie https://github.com/douglascrockford/JSON-js/blob/master/json2.jses herunter , fügen Sie es hinzu und tun Sie es

var json_data = JSON.stringify(obj);
Johannes Weiss
quelle
1
Sollte ich wirklich "json2.js" einfügen müssen? Es scheint ohne es zu funktionieren.
Pavel Alexeev
32
@PavelAlexeev Nein, Sie müssen nicht mehr einschließen json2.js, es sei denn, Sie zielen auf sehr alte Browser ab: Moderne Browser enthalten eine native Implementierung des JSONObjekts. Das Gute daran json2.jsist, dass es nur aktiviert wird, wenn kein natives Objekt gefunden wird. Eine detaillierte Aufschlüsselung der Browserunterstützung finden Sie unter [ stackoverflow.com/questions/891299/… .
Edurne Pascual
4

Um die Abwärtskompatibilität zu gewährleisten, lade ich die Crockfords JSON-Bibliothek von Cloudflare CDN, wenn keine native JSON-Unterstützung angegeben wird (zur Vereinfachung mit 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
quelle