假设我有一个表单,其中包含一系列月份和相应的复选框。我需要帮助解决以下两个问题之一:
1. 将查询字符串(例如 "January=on&March=on&September=on")转换为一个 JSON 对象。 2. 将对象数组(如:[{ January: 'on' },{ March: 'on' },{ September: 'on' }])转换为单个 JSON 对象:{ January: 'on', March: 'on', September: 'on' }。
我知道第一个映射已经是 JSON 了,但我希望它不要是对象数组,而是单个 JSON 对象。我可以使用
jQuery API 中 .serialize() 的实现代码如下:
1. 将查询字符串(例如 "January=on&March=on&September=on")转换为一个 JSON 对象。 2. 将对象数组(如:[{ 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());
},
这就是为什么我可以处理第一个或第二个答案。
我想这样做的原因是因为我正在从PrototypeJS转换到jQuery,而在PrototypeJS中,这很简单:
Object.toJSON(Form.serializeElements($('myform'), true));
那么,有没有人知道一个JSON插件(我想只使用jQuery)可以轻松地实现这个目标,或者知道一个简单的方法来达到我要寻找的结果?谢谢!