【问题标题】:Parsing JSON using javascript only仅使用 javascript 解析 JSON
【发布时间】:2013-08-13 16:33:16
【问题描述】:

我尝试寻找类似的问题,但找不到足够详细的信息。

我有一个ajax调用,它调用一个php页面,响应是:

echo json_encode($cUrl_c->temp_results);

哪些输出:

{"key":"value", "key2":"value"}

输出被“解析”使用:

var json_response = JSON.parse(xmlhttp.responseText);

我正在寻找一种方法来遍历响应,并获得 仅使用 javascript 的键和值。

  1. 返回的输出是否被认为是有效的 json?
  2. 如何循环遍历它(没有 jquery,只有 javascript)?

【问题讨论】:

    标签: javascript json parsing loops


    【解决方案1】:

    要遍历对象的项目,您通常使用for..in 循环,它可以让您访问键(属性名称)以及属性值:

    for (var key in object) {
        var item = object[key];
    }
    

    是的,{"key":"value", "key2":"value"} 是有效的 JSON。

    【讨论】:

      【解决方案2】:

      回答你的第一个问题,是的,一旦你用 JSON.parse() 解析它,它就被认为是有效的 JSON,就像你一样。要回答您的第二个问题,请查看来自 MDN 的 for...in

      您可以使用文档中的第一个示例来了解如何获取键和值。

      示例 1

      var o = {a:1, b:2, c:3};
      
      function show_props(obj, objName) {
        var result = "";
      
        for (var prop in obj) {
          result += objName + "." + prop + " = " + obj[prop] + "\n";
        }
      
        return result;
      }
      
      alert(show_props(o, "o")); /* alerts: o.a = 1 o.b = 2 o.c = 3 */
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-10-09
        • 1970-01-01
        • 2020-05-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多