75

JavaScriptオブジェクトをJSONとしてエンコードする良い方法はありますか?

キーと値のペアのリストがあります...名前はチェックボックスからのものであり、値はチェックボックスがオンになっているかどうかに基づいてtrueまたはfalseのいずれかになります。

var values = {};
$('#checks :checkbox').each(function() { values[this.name]=this.checked; }); 

これらの値をJSONオブジェクトに渡したいので、Cookieに保存してテーブルをレンダリングします(ユーザーがチェックした内容に応じて列が追加されます)。

誰かが解決策を知っていますか?

4

2 に答える 2

139

JSON.stringifyを使用できると思います:

// after your each loop
JSON.stringify(values);
于 2012-06-06T18:31:30.687 に答える
38

現在、すべての主要なブラウザーにネイティブ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リソース:

于 2012-06-06T18:48:46.143 に答える