将表单正确序列化为 json

Serializing form to json correctly

本文关键字:json 序列化 表单      更新时间:2023-09-26

我将如何序列化这样的表单:

<form id="SomeForm">
    <input type="hidden" name="testId" value="123" />
    <input type="radio" name="question-1" value="1" />
    <input type="radio" name="question-1" value="2" />
    <input type="radio" name="question-1" value="3" />
    <input type="radio" name="question-2" value="1" />
    <input type="radio" name="question-2" value="2" />
    <input type="radio" name="question-2" value="3" />
    <input type="radio" name="question-2" value="4" />
</form>

对于像这样的 JSON 结构:

{ 
"testid" : 123,
"questions" : [   
    { "question" : [ {
        "id" : 1,
        "answerswer" : 2
    }]},
    { "question" : [ {
        "id" : 2,
        "answerswer" : 4
    }]}
]
} 
var form = $('#SomeForm').serializeArray();
var formObject = {};
$.each(form ,
    function(i, v) {
        formObject[v.name] = v.value;
    });

欲了解更多信息:-

http://css-tricks.com/snippets/jquery/serialize-form-to-json/

试试这个:

$(document).ready(function(){
var frm = $("#SomeForm");
var data = JSON.stringify(frm.serializeArray());
console.log(data);
$("#test").click(function(){
    var frm = $("#SomeForm");
    var data = JSON.stringify(frm.serializeArray());
    alert(data);
});
});

工作小提琴:http://jsfiddle.net/robertrozas/as55D/