在Jquery中實現ajax用post請求后台json數據時,返回了一個html,而不是想要的Json數據,這個問題郁悶了一上午,在網上查的方法一沒用。最后終於發現是因為在service方法中引用了“super.service();” 這句話。去掉就解決了。
下面進入正題:js中如何操作json數據。
一、要想熟練的操作json數據,就先要了解json數據的結構,json有兩種結構:對象和數組。
1、對象 一個對象以“{”開始,“}”結束。每個“名稱”后跟一個“:”;“‘名稱/值’ 對”之間使用“,”分隔。 名稱用引號括起來;值如果是字符串則必須用括號,數值型則不需要。例如: var jsonObj={"str":"abc","intstr":1322323456,"max":6753,"time":"2012-10-19"};
2. 數組是值(value)的有序集合。一個數組以“[” 開始,“]”結束。值之間運用 “,”分隔。
例如:var jsonList=[{"str":"abc","intstr":1322323456,"max":6753,"time":"2012-10-19"}, {"str":"cde","intstr":782144556,"max":15400,"time":"2012-10-19"}];
二、JSON(JavaScript Object Notation) 是一種輕量級的數據交換格式,采用完全獨立於語言的文本格式,是理想的數據交換格式。json在傳輸過程中是以文本形式存在的,即字符串的形式。而在JS中需要操作的是對象,所以需要把json轉換成對象,一般用“eval()”函數來實現,例如 :var obj = eval('(' + json+ ')'); 這樣就可以隨意操作json了。
三、如果不知道jsonlist對象里的key和value怎樣來獲得其中的數據?
for(var i=0;i<jsonList.length;i++){
for(var key in jsonList[i]){
alert("key:"+key+",value:"+jsonList[i][key]);
}
}
用這種方法就可以解析json數據了。