aspx中有一个json对象msg,代码如下:
$.ajax({
            type: "POST",
            url: "UserExists.ashx",
            //用text接收
            dataType: "text",
            data: "userId=loadTiemTree",
            success: function (msg) {
                var $form = $("form");
                if (msg != null && msg != "") {
                    //把msg转换成数组
                    
                    //显示后台数据
                    $form.append("<div style=\"width:1000px;margin:0px auto;\"><div style=\"width:495px;float:left;border:1px outset red;\">"
                          + msg + "</div></div>");
                    $("#page_tag_load").hide();                } else {
                    $("#page_tag_load").hide();
                }
            }
        });输出后的结果如下:
[{"newid":"673"},{"newimg":"~/Sources/Image/treetime/20121010205839534.jpg"},{"newcontent":""}",{"newsclick":"0"},{"newtime":"2012/10/10 20:58:36"}][{"newid":"672"},{"newimg":"~/Sources/Image/treetime/20121010205844616.jpg"},{"newcontent":""}",{"newsclick":"0"},{"newtime":"2012/10/10 20:58:19"}][{"newid":"671"},{"newimg":"~/Sources/Image/treetime/20121010205713751.jpg"},{"newcontent":""}",{"newsclick":"0"},{"newtime":"2012/10/10 20:57:53"}][{"newid":"670"},{"newimg":"~/Sources/Image/treetime/20121010205758428.png"},{"newcontent":""}",{"newsclick":"0"},{"newtime":"2012/10/10 20:57:31"}]
我想在页面上把它转成数组,然后获取数组里面的信息赋给控件,该怎么做啊,求高手指教,在线等。

解决方案 »

  1.   

    本帖最后由 net_lover 于 2012-10-14 19:15:32 编辑
      

  2.   

    我是这么写的:
    try {
                            var arr = new Array();
                            arr = eval(msg);
                            alert(arr[0]);
                        } catch (e) {
                            alert(e);
                        }
    然后抛了一个[object Object]的异常,求解?
      

  3.   

    本帖最后由 net_lover 于 2012-10-14 19:23:55 编辑
      

  4.   

    跪谢了,大神,已经可以获取到了。再请教个问题,就是在拼接json的时候有什么需要特别注意的吗?
      

  5.   

    本帖最后由 net_lover 于 2012-10-14 19:47:04 编辑
      

  6.   

    谢谢啊,今天终于把json这块弄的差不多了
      

  7.   

    for (i = 0; i < arr.length; i++) {
        alert(arr[i][0].newid);
        alert(arr[i][1].newimg);
      }
    这个循环似乎只能打印出i=0时的值,而用
    alert(arr[i].newid);
        alert(arr[i].newimg);打印时会undefined。
    这是为嘛?
      

  8.   

    本帖最后由 net_lover 于 2012-10-14 20:24:06 编辑
      

  9.   

    格式似乎没问题,如下:
    [{"newid":"677"},{"newimg":"~/Sources/Image/treetime/20121010205961316.jpg"},{"newcontent":""},{"newclick":"0"},{"newtime":"2012/10/10 21:14:41"},{"newid":"676"},{"newimg":"~/Sources/Image/treetime/20121010205961316.jpg"},{"newcontent":""},{"newclick":"0"},{"newtime":"2012/10/10 21:02:07"},{"newid":"675"},{"newimg":"~/Sources/Image/treetime/20121010205961316.jpg"},{"newcontent":""},{"newclick":"0"},{"newtime":"2012/10/10 20:59:17"},{"newid":"674"},{"newimg":"~/Sources/Image/treetime/2012101020597502.gif"},{"newcontent":""},{"newclick":"0"},{"newtime":"2012/10/10 20:59:05"},{"newid":"673"},{"newimg":"~/Sources/Image/treetime/20121010205839534.jpg"},{"newcontent":""},{"newclick":"0"},{"newtime":"2012/10/10 20:58:36"}]
    for循环:
    arr = eval('new Array(' + msg + ')');
                            for (var i = 0; i < arr.length; i++) {
                                alert(arr[i][0].newid);
                                alert(arr[i][1].newimg);
                                alert(arr[i][2].newcontent);
                                alert(arr[i][3].newclick);
                                alert(arr[i][4].newtime);
                            }
    结果是只能弹出677这组信息,后面就没了,小弟愚钝,还望大神不吝赐
      

  10.   

    本帖最后由 net_lover 于 2012-10-14 22:46:20 编辑
      

  11.   

    改成这样了,还是不行
    [{"newid":"677","newimg":"~/Sources/Image/treetime/20121010205961316.jpg","newcontent":"","newclick":"0","newtime":"2012/10/10 21:14:41"},{"newid":"676","newimg":"~/Sources/Image/treetime/20121010205961316.jpg","newcontent":"","newclick":"0","newtime":"2012/10/10 21:02:07"},{"newid":"675","newimg":"~/Sources/Image/treetime/20121010205961316.jpg","newcontent":"","newclick":"0","newtime":"2012/10/10 20:59:17"},{"newid":"674","newimg":"~/Sources/Image/treetime/2012101020597502.gif","newcontent":"","newclick":"0","newtime":"2012/10/10 20:59:05"},{"newid":"673","newimg":"~/Sources/Image/treetime/20121010205839534.jpg","newcontent":"","newclick":"0","newtime":"2012/10/10 20:58:36"}]
    还是只能弹出第一个的信息