JS的Form表單轉(zhuǎn)JSON格式的操作代碼
目錄
- 一、serialize()方法
- 二、serializeArray()方法
- 三、$.param()方法
- js 將json字符串轉(zhuǎn)換為json對(duì)象的方法解析
- 一、JSON字符串轉(zhuǎn)換為JSON對(duì)象
- 二、可以使用toJSONString()或者全局方法JSON.stringify()將JSON對(duì)象轉(zhuǎn)化為JSON字符串。
一、serialize()方法
格式:var data = $("#formID").serialize();
功能:將表單內(nèi)容序列化成一個(gè)字符串。
注意:要使用params = decodeURIComponent(data ,true)進(jìn)行解碼,不然中文數(shù)據(jù)會(huì)亂碼。
數(shù)據(jù)示例:Name=小明&Age=22&Sex=男
后臺(tái):獲取字符串后,可以到后臺(tái)進(jìn)行處理數(shù)據(jù)。
代碼示例:
$.ajax({ url: "ServletSelect?action=ins", type: "post", data: $("form").serialize(), dataType:"json", success: function (data) { alert(data.msg); } })
二、serializeArray()方法
格式:var strdata = $("#formID").serializeArray();
功能:將表單序列化成一個(gè)JSON結(jié)構(gòu)的對(duì)象。數(shù)組類型。
數(shù)據(jù)示例:(3)[{name:"Name",value:"小明"},{name:"Age",value:"22"},{name:"Sex",value:"男"}] 獲取數(shù)據(jù)為 data [0].name
通過(guò)JSON.stringify()方法,將json數(shù)據(jù)轉(zhuǎn)成string類型,供后臺(tái)接收。
轉(zhuǎn)換類型:var str= JSON.stringify(strdata );//轉(zhuǎn)換成string數(shù)據(jù)
數(shù)據(jù)示例:”[{name:"Name",value:"小明"},{name:"Age",value:"22"},{name:"Sex",value:"男"}]”
代碼示例:
var arry = $("表單").serializeArray(); $.ajax({ url: "/index/index", data: { jsondata: JSON.stringify(arry) }, type:"post", success: function () { alert("success"); } })
三、$.param()方法
格式:$.param(personObj)
功能:可以把json格式數(shù)據(jù)序列化成字符串形式
代碼示例:
var obj={a:1,b:2} var s=$.param(obj);
會(huì)形成a=1&b=2的形式
js 將json字符串轉(zhuǎn)換為json對(duì)象的方法解析
將json字符串轉(zhuǎn)換為json對(duì)象的方法。在數(shù)據(jù)傳輸過(guò)程中,json是以文本,即字符串的形式傳遞的,而JS操作的是JSON對(duì)象,所以,JSON對(duì)象和JSON字符串之間的相互轉(zhuǎn)換是關(guān)鍵.
例如:
JSON字符串:
var str1 = '{ "name": "cxh", "sex": "man" }';
JSON對(duì)象:
var str2 = { "name": "cxh", "sex": "man" };
一、JSON字符串轉(zhuǎn)換為JSON對(duì)象
要使用上面的str1,必須使用下面的方法先轉(zhuǎn)化為JSON對(duì)象:
//由JSON字符串轉(zhuǎn)換為JSON對(duì)象
var obj = eval('(' + str + ')');
或者
var obj = str.parseJSON(); //由JSON字符串轉(zhuǎn)換為JSON對(duì)象
或者
var obj = JSON.parse(str); //由JSON字符串轉(zhuǎn)換為JSON對(duì)象
然后,就可以這樣讀取:
Alert(obj.name);
Alert(obj.sex);
特別注意:如果obj本來(lái)就是一個(gè)JSON對(duì)象,那么使用eval()函數(shù)轉(zhuǎn)換后(哪怕是多次轉(zhuǎn)換)還是JSON對(duì)象,但是使用parseJSON()函數(shù)處理后會(huì)有問(wèn)題(拋出語(yǔ)法異常)。
二、可以使用toJSONString()或者全局方法JSON.stringify()將JSON對(duì)象轉(zhuǎn)化為JSON字符串。
例如:
var last=obj.toJSONString(); //將JSON對(duì)象轉(zhuǎn)化為JSON字符
或者
var last=JSON.stringify(obj); //將JSON對(duì)象轉(zhuǎn)化為JSON字符
alert(last);
注意:
上面的幾個(gè)方法中,除了eval()函數(shù)是js自帶的之外,其他的幾個(gè)方法都來(lái)自json.js包。新版本的 JSON 修改了 API,將 JSON.stringify() 和 JSON.parse() 兩個(gè)方法都注入到了 Javascript 的內(nèi)建對(duì)象里面,前者變成了 Object.toJSONString(),而后者變成了 String.parseJSON()。如果提示找不到toJSONString()和parseJSON()方法,則說(shuō)明您的json包版本太低。
到此這篇關(guān)于JS的Form表單轉(zhuǎn)JSON格式的文章就介紹到這了,更多相關(guān)js form表單轉(zhuǎn)json格式內(nèi)容請(qǐng)搜索以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持!
