オブジェクトをJSONにシリアル化する


211

JavaScriptでオブジェクトをJSONにシリアル化するにはどうすればよいですか?

回答:



52

ダウンロードhttps://github.com/douglascrockford/JSON-js/blob/master/json2.js、それを含めて実行

var json_data = JSON.stringify(obj);

1
「json2.js」を本当に含める必要がありますか?それなしでも動作するようです。
Pavel Alexeev

32
@PavelAlexeevいいえ、json2.js非常に古いブラウザをターゲットにしているのでない限り、もう含める必要はありません。最新のブラウザには、JSONオブジェクトのネイティブ実装が含まれています。良い点json2.jsは、ネイティブオブジェクトが見つからない場合にのみ起動することです。ブラウザサポートの詳細な内訳については、[ stackoverflow.com/questions/891299/…をご覧ください。
Edurne Pascual、2012

4

下位互換性を保つために、ネイティブJSONサポートが提供されていない場合は、jrockを使用して単純化するために、cloudflare CDNからCrockfords 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)
}
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.