在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数据了。