JavaScriptでオブジェクトをJSONにシリアル化するにはどうすればよいですか?
JavaScriptでオブジェクトをJSONにシリアル化するにはどうすればよいですか?
回答:
あなたが探していJSON.stringify()
ます。
ダウンロードhttps://github.com/douglascrockford/JSON-js/blob/master/json2.js
、それを含めて実行
var json_data = JSON.stringify(obj);
json2.js
非常に古いブラウザをターゲットにしているのでない限り、もう含める必要はありません。最新のブラウザには、JSON
オブジェクトのネイティブ実装が含まれています。良い点json2.js
は、ネイティブオブジェクトが見つからない場合にのみ起動することです。ブラウザサポートの詳細な内訳については、[ stackoverflow.com/questions/891299/…をご覧ください。
下位互換性を保つために、ネイティブ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)
}