返回列表 发帖

Json,怎樣變為對象呢

我用jquery,Post,返回數據,數據是Json.d的數據" [{"id" : "1"},{"id" : "2"},{"id" : "3"}]" ,
  
將他以列表形式顯示,我失敗啦。
  
但是,如果 var data=[{"id" : "1"},{"id" : "2"},{"id" : "3"}],顯示則成功。
  
請問,我是少那一步呢?
  
附:代碼:
  
   $.ajax({
                         type: "POST",  
                         contentType: "application/json; charset=utf-8",
                         dataType: "json",      
                         url:"../WebService/Shop.asmx/GetProductByType",
                         data:"{id:\""+"1" + "\"}",
                         success: function(data,type){                     
                            var json = null;  
                             try{
                                 var test= [{"id" : "1"},{"id" : "2"},{"id" : "3"}];
                                   
                               test=eval (data);
                                //var JSONObject a = new JSONObject(data);   
                                  var str=" <table>";
                                  for (var  i=0;i <=test.length-1 ;i++)
                                  {
                                  str+=" <tr> <td>"+"a" + test[i].id +" </td> </tr>";  //循环生成tr标记
                                  }
                                  /*
                                   $.each
                                    (  
                                       data.d, function(i, n)
                                       {
                                         //alert (i);  
                                            str+=" <tr> <td>"+"a" + n.id +" </td> </tr>";  //循环生成tr标记
                                       }
                                    );
                                    */
                                    str+=" </table>";
                                    $("#ShopList").html(str );
                                    // $("#sPrice").html(data.d );   
                             }catch(e){                     
                                 alert("Parse Error");
                                 return;
                             }                    
                             //alert(json.d);   
                         },
                         error: function(x, e) {
                             $("#ShopList").html(x.responseText );
                                 
                         },
                         complete: function(x) {
                            // $("#SendMail").attr("disabled", false );
                             
                         }
                 });

初学者  
  学习了

TOP

如需要阅读该回复,请登录或注册gimoo!

TOP

jquery 返回的是json的字符串,(可能也叫對象)
通過eval,變成json數組。
不知道理解的對不對。

TOP

eval("data"),返回的不就是一个json么

TOP

用eval 就可以了

TOP

eval(str)就OK了

TOP

该函数可以把一个字符串当作一个JavaScript表达式一样去执行它,具体来说,就是eval接受一个字符串类型的参数,将这个字符串作为代码在上下文环境中执行,并返回执行的结果。
這個解釋,我覺得,可信,有人指點一下嗎?

TOP

eval函数接收一个参数s,如果s不是字符串,则直接返回s。否则执行s语句。如果s语句执行结果是一个值,则返回此值,否则返回undefined。
  
???這個是不是有疑問?
我增加 data=eval(data.d),顯示就正常啦。

TOP

返回列表