天天看點

JSON在web項目中的使用

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);
	})