1.jquery的ajax方式傳遞json到背景
(1).示例一:
$.ajax({
type:"POST",
url:"sysAllTableAction_saveTable.do",
data:{jsonStr: JSON.stringify(array_json)},
dataType:"text json",
headers:{
Accept:"application/json",
"Content-Type":"application/json"
},
cache:false,
success:function(msg){
alert(msg);
},
error:function(){
alert("error");
}
});
(2).示例二:
var form_vals = $('#form1').serializeArray();
$.post("PmpAction_toUpdate.do",form_vals,function(data){
if(data=="success"){
alert("修改成功!");
window.location.href="PmpAction_List.do" target="_blank" rel="external nofollow" ;
}
});
2.JSON資料的轉換
(1).将表單内容序列化,轉為JSON
//form轉換
var form_vals = $('#form1').serializeArray();
var jsonStr = JSON.stringify(form_vals);
3.JSON資料在頁面中的解析:
(1).解析成對象
var t="{'firstName': 'cyra', 'lastName': 'richardson', 'address': {'streetAddress': '1 Microsoft way', 'city': 'Redmond'},
'phoneNumbers': ['425-777-7777','206-777-7777']}";
var jsonobj=eval('('+t+')');
alert(jsonobj.firstName);
alert(jsonobj.lastName);
(2).解析成一維數組
var t2="[{name:'zhangsan',age:'24'},{name:'lisi',age:'30'},{name:'wangwu',age:'16'},{name:'tianqi',age:'7'}] ";
var myobj=eval(t2);
for(var i=0;i<myobj.length;i++){
alert(myobj[i].name);
alert(myobj[i].age);
}
(3).解析成二維數組
var t3="[['<a href=# οnclick=openLink(14113295100);>14113295100</a>','aaaaaa','bbbbbb']]";
var obj = eval(t3);
for(var i=0;i<obj.length;i++){
for(var j=0;j<obj[i].length;j++){
alert(obj[i][j]);
}
}
3.示例:
var data='{
"timestamp":"2016-11-03 11:16:41 ","status":200,"message":"服務處理成功",
"result":
{"list":[
{"id":"402880e95827ebbd0158280636690003","hdmtDeclare":null,"name":null,"plan":null,"comStatus":null,"validRecord":true},
{"id":"402880e95827ebbd015828054cbb0002","hdmtDeclare":null,"name":null,"plan":null,"comStatus":null,"validRecord":true},
{"id":"402880e95823bc2f01582464d7690007","hdmtDeclare":null,"name":"項目經費","plan":"5月","comStatus":"誤事","validRecord":true}
],
"count":7,
"pageSize":10,
"totalPages":1}
}';
var obj=eval('('+data+')')
var t=obj.result;
$.each(t.list,function(i,o){
alert(o.id);
alert(o.name);
alert(o.plan);
})