如何在Jquery中循环遍历Json数据以检索值

时间:2013-01-30 09:32:29

标签: jquery asp.net ajax json

Hii Guys !!!             我有一个网格填充杰森数据。现在我想要检索 jason使用来自服务器端代码的jquery ajax调用值...

以下是我的服务器端代码......

getGriddahico.ashx

                        string json ="";
                        json = json + "{\n";
                        json = json + " \"page\":\""+intpage+"\",\n";
                        json = json + "\"total\":"+total_pages+",\n";
                        json = json + "\"records\":"+total+",\n";
                        json = json + "\"rows\": [";
                        rc = false;

                        while(rs.Read()){

                            if(rc){
                                json = json + ",";
                            }
                            json = json + "\n{";
                            json = json + "\"price\":\"" + Convert.ToInt32(rs["price"]) + "\",";
                            json = json + "\"cell\":[" + Convert.ToInt32(rs["price"]) + "";
                            json = json + ",\"" + Convert.ToString(rs["username"]) + "\"";
                            json = json + ",\"" + Convert.ToString(rs["ordinal"]) + "\"";
                            json = json + ",\"" + Convert.ToString(rs["toc"]) + "\"]";
                            json = json + "}";

                            rc=true;
                        }
                        json = json +"]\n";

                        json = json +"}";

这是我的Jquery Ajax调用代码。

 $(document).ready(function () {
        $.getJSON('getGriddahico.ashx', function (data) {
            //loop thru  json data
            //data will contain  json values < --
            $.each(data, function (key, val) {
                console.log(val);
            });
        });
    });

Plz人帮助我如何从服务器端datareader到客户端变量的值。 提前完成。

2 个答案:

答案 0 :(得分:1)

对我来说,好像你正在返回一个字符串值,然后你需要将它解析为json对象。

使用代码$.parseJSON()

$.getJSON('getGriddahico.ashx', function (data) {

    /* convert to json object */
    var json $.parseJSON(data);

    //loop thru  json data
    //data will contain  json values
    $.each(json, function (key, val) {
        console.log(val);
    });
});

答案 1 :(得分:0)

当你得到-2147483648 -2147483648 150508 []时,第四个([])是一个数组。
所以你必须再循环才能从内部数组中获取值。

你需要多个循环。我认为以下应该有效。
在第一个循环中,您将获得不是数组的值 在内部循环中,您将获得数组值。
第一个循环中pagetotalrecords的值
在内循环中,您将获得pricecell

$(document).ready(function () {
    $.getJSON('getGriddahico.ashx', function (data){ 
        $.each(data, function(idx, obj){ 
           $.each(obj, function(key, value){
                console.log(key + ": " + value);
           });
    });
});

您可以参考此链接

looping over a json object array with jquery