Serializacja obiektu do JSON


Odpowiedzi:



52

Pobierz https://github.com/douglascrockford/JSON-js/blob/master/json2.js, dołącz i zrób

var json_data = JSON.stringify(obj);

1
Czy naprawdę muszę dołączyć plik „json2.js”? Wydaje się, że działa bez tego.
Pavel Alexeev

32
@PavelAlexeev Nie, nie musisz json2.jsjuż uwzględniać , chyba że celujesz w bardzo stare przeglądarki: nowoczesne przeglądarki zawierają natywną implementację JSONobiektu. Dobrą rzeczą json2.jsjest to, że uruchomi się tylko wtedy, gdy nie zostanie znaleziony żaden obiekt rodzimy. Zobacz [ stackoverflow.com/questions/891299/..., aby uzyskać szczegółowy podział obsługi przeglądarki.
Edurne Pascual,

4

Aby zachować kompatybilność wsteczną, ładuję bibliotekę JSON Crockfords z cloudflare CDN, jeśli nie jest dostępna natywna obsługa JSON (dla uproszczenia za pomocą 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)
}
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.