1

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

我有一个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)?
4

2 回答 2

1

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

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

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

于 2013-08-13T16:36:50.647 回答
0

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

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

示例 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 */
于 2013-08-13T16:37:36.790 回答