使用jQuery中的serializeArray()方法能夠方便的將表單中的各個信息,轉化爲多個{name:xx,value:xx}對象的數組,javascript
再使用遍歷的方式能夠方便的將數組轉化爲json對象,java
代碼以下json
<p id="results"><b>Results: </b> </p> <form> <select name="single"> <option>Single</option> <option>Single2</option> </select> <select name="multiple" multiple="multiple"> <option selected="selected">Multiple</option> <option>Multiple2</option> <option selected="selected">Multiple3</option> </select><br/> <input type="checkbox" name="check" value="check1"/> check1 <input type="checkbox" name="check" value="check2" checked="checked"/> check2 <input type="radio" name="radio" value="radio1" checked="checked"/> radio1 <input type="radio" name="radio" value="radio2"/> radio2 </form> <script type="text/javascript"> //其中的serialize()方法將表單信息轉化爲以&鏈接的字符串,和提交的信息相似,感受用處不大 $("#results").append("<tt>"+$("form").serialize()+"</tt>").append("<br/>"+$("form").serializeArray()); //可是serializeArray方法會生成鍵值對的數組對象,再放到json對象中,使用起來就很方便了 var fields = $("form").serializeArray(); var f = {};//聲明一個對象 $.each(fields,function(index,field){ f[field.name] = field.value;//經過變量,將屬性值,屬性一塊兒放到對象中 }) //等遍歷結束,就會生成一個json對象了 //若是須要對象與字符串的轉換 //這是從json對象 向 json 字符串轉換 var str = JSON.stringify(f); alert(str); //這是將字符串 向 對象轉換 var objectStr = JSON.parse(str); alert(objectStr); </script>
生成的json能夠傳送到服務器,再使用插件直接轉化成Javabean對象,使用起來會很是方便,由於省去了繁瑣的提取操做語句數組
若是須要對象與字符串的轉換,能夠使用多種方法,除了代碼中的方法,另外還有兩種字符串轉對象的方式服務器
jQuery中的$.parseJSON(str) 可把字符串轉成對象。。app
另外就是js中熟悉的eval方法了,將字符串轉化爲對象eval('('+str+')');插件