この例では、フォームに月のリストがあり、それぞれの横にチェックボックスがあるとします。次の 2 つのことのいずれかを行うためのヘルプを探しています。
- クエリ文字列を変換する (例:
"January=on&March=on&September=on"
) または - オブジェクト マップを変換します。
[{ January: 'on' },{ March: 'on' },{ September: 'on' }]
単一の JSON オブジェクトに:{ January: 'on', March: 'on', September: 'on' }
最初のマップは既に JSON であることに気付きましたが、オブジェクト配列ではなく、単一の JSON オブジェクトにしたいと考えています。でマップを$('form').serializeArray();
作成し、 でクエリ文字列を作成できます$('form').serialize();
。
jQuery API での .serialize() の実装は単純です。
serialize: function() {
return jQuery.param(this.serializeArray());
},
これが、最初または2番目の答えのいずれかを処理できる理由です。
私がこれをやりたい理由は、PrototypeJS から jQuery に切り替えているからです。PrototypeJS では、これは次のように簡単でした。
Object.toJSON(Form.serializeElements($('myform'), true));
それで、これを簡単に行うことができる JSON プラグイン (私は jQuery のみに固執したい) を知っている人、または私が探している結果を達成するための簡単な方法を知っている人はいますか? ありがとう!