JavaScriptオブジェクトをJSONとしてエンコードする良い方法はありますか?
キー値のペアのリストがあります...名前はチェックボックスからのもので、値はボックスがチェックされているかどうかに基づいてtrueまたはfalseです:
var values = {};
$('#checks :checkbox').each(function() { values[this.name]=this.checked; });
これらの値をJSONオブジェクトに渡し、テーブルをレンダリングするためにCookieに保存します(ユーザーがチェックした内容に応じて列が追加されます)。
誰もが解決策を知っていますか?
JSON.stringify を使用できると思います:
// after your each loop
JSON.stringify(values);
すべての主要なブラウザーには、ネイティブJSONエンコード/デコードが含まれるようになりました。
// To encode an object (This produces a string)
var json_str = JSON.stringify(myobject);
// To decode (This produces an object)
var obj = JSON.parse(json_str);
有効なJSONデータのみがエンコードされることに注意してください。例えば:
var obj = {'foo': 1, 'bar': (function (x) { return x; })}
JSON.stringify(obj) // --> "{\"foo\":1}"
有効なJSONタイプは、オブジェクト、文字列、数値、配列、true
、false
、およびnull
です。
いくつかのJSONリソース: