【问题标题】:Read Value of JSON Result in Jquery在 Jquery 中读取 JSON 结果的值
【发布时间】:2014-10-05 18:21:06
【问题描述】:

这是我通过 Ajax 调用的 WebMethod 输出:

 var item=""[{\"Column1\":\"false\"}]""

总是有一行输出,即truefalse,我想得到Column1的值,我已经尝试Jquery.ParseJson(item),但是它给出了Illegal Token o error,请帮助我如何读取这个值。请检查反逗号,这是我web method的确切结果,这个结果和格式是场景的必要条件。谢谢。使用循环它给出了错误:

【问题讨论】:

    标签: javascript jquery ajax json


    【解决方案1】:

    如果我正确理解您的问题,我认为您在字符串周围的多余引号是一个问题,这是无效的语法。

    这行得通:

    var item = "[{\"Column1\":\"false\"}]";
    var parsed = JSON.parse(item);
    parsed.forEach(function(row) {
        console.log(row.Column1);
    });
    console.log(parsed[0].Column1);
    

    这是jsfiddle

    请参阅此处了解 jQuery.ParseJson vs JSON.parse,我更喜欢 JSON.parse,但两者都应该可以正常工作。

    对于没有forEach 的旧版浏览器,请使用for 循环或类似下划线的库。

    var item="[{\"Column1\":\"false\"}]";
    var parsed = JSON.parse(item);
    //if forEach is not supported:
    for (var i = 0; i < parsed.length; i++) {
        console.log(parsed[i].Column1);
    }
    console.log(parsed[0].Column1);
    

    这是一个 for 循环 jsfiddle

    【讨论】:

    • 您的浏览器似乎没有forEach。如果您想支持较旧的浏览器,则必须使用 for(;;) 或类似下划线的东西。我会更新答案。
    • @Bjron ...我正在使用 Chrome 版本为 33.0.1750.154 dev-m
    • 我的 Chrome 版本是 37.0.2062.124,我相信这是最新的稳定版本。我认为 33 会有 forEach 它已经存在了一段时间,但我不确定。您可能只想使用 for 循环或下划线/lodash 之类的库。
    • 在 Opera 和 firefox 上,它给出了错误 undefined is not a function
    • 您是否尝试过使用for 循环而不是forEach
    【解决方案2】:

    我知道上述解决方案不能与您的浏览器完美配合,这是另一种替代解决方案,虽然我知道它可能不适合您的场景,但因为您的输出是 truefalse 。而不是使用 @ 987654323@在服务器端,只需将对象数组返回给客户端并像这样读取值。

    var tempo=item[0].Column1;
    

    【讨论】:

      【解决方案3】:

      不确定你的服务的输出,但我认为你可以试试这个:

      str = 'var item=""[{\"Column1\":\"false\"}]""';
      str = str.replace(/"/g, '');//remove quotes and slashes to make valid json
      eval(str);//evaluate the string
      console.log(item[0].Column1);
      

      【讨论】:

      • 在 str 我有"var item=[{\Column1\:\false\}]"...但它给item[0].Column1 undefined
      猜你喜欢
      • 2014-06-12
      • 2015-04-23
      • 1970-01-01
      • 2013-01-25
      • 1970-01-01
      • 1970-01-01
      • 2015-10-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多