2014-04-01 100 views
-2

我怎么会序列化是这样一种形式:序列化格式正确的JSON

<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, 
     "answer" : 2 
    }]}, 
    { "question" : [ { 
     "id" : 2, 
     "answer" : 4 
    }]} 
] 
} 
+1

嗯,你尝试过什么吗?哪一部分对你很困难?顺便说一句,你的例子不是有效的JSON。 '[]'是一个数组,它不应该有任何键。 – kapa

+1

'testid'的'问题'兄弟正在使用'[..]',就像它是一个_Array_,但是它的标签是_Object_。这是无效的_JSON_,它甚至不是有效的_JavaScript_文字。 –

+0

现在编辑..和香港专业教育学院尝试使用jquery serializeArray,也看着https://github.com/macek/jquery-serialize-object,但我似乎没有得到那个结果 –

回答

0

试试这个:

$(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/