2009-02-17 11 views

Antwort

281

Sie suchen nach JSON.stringify().

+1

Die Verwendung von JSON.stringify() mit JavaScript-Objekten, die Arrays enthalten, hat eine kleine Sache. Bitte überprüfen Sie meine Frage: http://stackoverflow.com/questions/25423883/parsing-json-array-gives-error – Reek

52

herunterladen https://github.com/douglascrockford/JSON-js/blob/master/json2.js, schließen Sie es und tun

var json_data = JSON.stringify(obj); 
+1

Sollte ich wirklich "json2.js" einschließen? Es scheint ohne es zu funktionieren. –

+31

@PavelAlexeev Nein, Sie müssen 'json2.js' nicht mehr hinzufügen, es sei denn, Sie richten sich an sehr alte Browser: Moderne Browser enthalten eine native Implementierung des' JSON'-Objekts. Das Gute an 'json2.js' ist, dass es nur eingreift, wenn kein natives Objekt gefunden wird. Unter [http://stackoverflow.com/questions/891299/browser-native-json-support-window-json] finden Sie eine detaillierte Aufschlüsselung der Browserunterstützung. –

4

einfach es abwärtskompatibel zu halten, ich Crockfords JSON-Bibliothek von cloudflare CDN laden, wenn keine native JSON-Unterstützung (der Einfachheit halber mit jQuery) gegeben:

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) 
} 
Verwandte Themen