我只是试图在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);
答案 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]);
}
}