循环通过json编码对象

时间:2014-09-26 15:59:33

标签: javascript php ajax json

我只是试图在javascript中循环使用它来编码它然后通过ajax进行编码。

[{"approved":false,"response":"Not working."}]

当通过我的ajax调用将ResultJSON var记录到数据之下时,它在控制台中看起来就像上面那样。

这是我用来循环的代码。记录密钥时,我会收到一堆字母。我希望获得已批准的密钥和false的值以及响应键和值。

ResultJSON = data;
console.log(ResultJSON);
for (var key in ResultJSON) {
  if (ResultJSON.hasOwnProperty(key)) {
     console.log(ResultJSON[key]);
  }
}

当我从你们的建议中尝试0,1,2时......它给了我日志中的下一个字母。所以数据[1]会给我一个{和数据[2]一个"

编辑:

这是我通过php构建编码对象的方式。

$build = array();
$buildTwo = array();
$object = new stdClass();
$build["approved"] = $approved;
$build["response"] = $response_reason_text;
$buildTwo[] = $build;
echo json_encode($buildTwo);

2 个答案:

答案 0 :(得分:1)

看起来你试图迭代的对象是数组中的单个元素? (注意{} s周围的[] s。

尝试

ResultJSON = data[0]; 

修改 - 根据您对尝试多项指标的评论而不起作用,您是如何打电话获取数据的?你是否表示你期待JSON(或使用jQuery.getJSON())?

第二次编辑 - 我现在看到了PHP代码,但是ajax调用呢?

答案 1 :(得分:0)

不确定为什么你的json被包装,可能与你的php代码有关,但你可以让你的例子与

一起使用
ResultJSON = data[0];
console.log(ResultJSON);
for (var key in ResultJSON) {
    if (ResultJSON.hasOwnProperty(key)) {
    console.log(ResultJSON[key]);
    }
}