JS的Form表單轉(zhuǎn)JSON格式的操作代碼
一、serialize()方法
格式:var data = $("#formID").serialize();
功能:將表單內(nèi)容序列化成一個字符串。
注意:要使用params = decodeURIComponent(data ,true)進(jìn)行解碼,不然中文數(shù)據(jù)會亂碼。
數(shù)據(jù)示例:Name=小明&Age=22&Sex=男
后臺:獲取字符串后,可以到后臺進(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();
功能:將表單序列化成一個JSON結(jié)構(gòu)的對象。數(shù)組類型。
數(shù)據(jù)示例:(3)[{name:"Name",value:"小明"},{name:"Age",value:"22"},{name:"Sex",value:"男"}] 獲取數(shù)據(jù)為 data [0].name
通過JSON.stringify()方法,將json數(shù)據(jù)轉(zhuǎn)成string類型,供后臺接收。
轉(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);會形成a=1&b=2的形式
js 將json字符串轉(zhuǎn)換為json對象的方法解析
將json字符串轉(zhuǎn)換為json對象的方法。在數(shù)據(jù)傳輸過程中,json是以文本,即字符串的形式傳遞的,而JS操作的是JSON對象,所以,JSON對象和JSON字符串之間的相互轉(zhuǎn)換是關(guān)鍵.
例如:
JSON字符串:
var str1 = '{ "name": "cxh", "sex": "man" }';
JSON對象:
var str2 = { "name": "cxh", "sex": "man" };
一、JSON字符串轉(zhuǎn)換為JSON對象
要使用上面的str1,必須使用下面的方法先轉(zhuǎn)化為JSON對象:
//由JSON字符串轉(zhuǎn)換為JSON對象
var obj = eval('(' + str + ')');
或者
var obj = str.parseJSON(); //由JSON字符串轉(zhuǎn)換為JSON對象
或者
var obj = JSON.parse(str); //由JSON字符串轉(zhuǎn)換為JSON對象
然后,就可以這樣讀取:
Alert(obj.name);
Alert(obj.sex);
特別注意:如果obj本來就是一個JSON對象,那么使用eval()函數(shù)轉(zhuǎn)換后(哪怕是多次轉(zhuǎn)換)還是JSON對象,但是使用parseJSON()函數(shù)處理后會有問題(拋出語法異常)。
二、可以使用toJSONString()或者全局方法JSON.stringify()將JSON對象轉(zhuǎn)化為JSON字符串。
例如:
var last=obj.toJSONString(); //將JSON對象轉(zhuǎn)化為JSON字符
或者
var last=JSON.stringify(obj); //將JSON對象轉(zhuǎn)化為JSON字符
alert(last);
注意:
上面的幾個方法中,除了eval()函數(shù)是js自帶的之外,其他的幾個方法都來自json.js包。新版本的 JSON 修改了 API,將 JSON.stringify() 和 JSON.parse() 兩個方法都注入到了 Javascript 的內(nèi)建對象里面,前者變成了 Object.toJSONString(),而后者變成了 String.parseJSON()。如果提示找不到toJSONString()和parseJSON()方法,則說明您的json包版本太低。
到此這篇關(guān)于JS的Form表單轉(zhuǎn)JSON格式的文章就介紹到這了,更多相關(guān)js form表單轉(zhuǎn)json格式內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
微信小程序?qū)崿F(xiàn)watch監(jiān)聽
這篇文章主要介紹了微信小程序?qū)崿F(xiàn)watch監(jiān)聽,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06
JS實(shí)現(xiàn)指定區(qū)域的全屏顯示功能示例
這篇文章主要介紹了JS實(shí)現(xiàn)指定區(qū)域的全屏顯示功能,涉及javascript事件響應(yīng)及頁面元素屬性動態(tài)操作相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2019-04-04
JS實(shí)現(xiàn)數(shù)字格式千分位相互轉(zhuǎn)換方法
下面小編就為大家?guī)硪黄狫S實(shí)現(xiàn)數(shù)字格式千分位相互轉(zhuǎn)換方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-08-08

