【发布时间】:2012-07-17 01:32:40
【问题描述】:
我的 javascript 中有一个对象,如下所示:
{"data":[{"t":{
"level":"35",
"longtitude":"121.050321666667",
"latitude":"14.6215366666667",
"color":"#040098"}},
{"t":{
"level":"31",
"longtitude":"121.050316666667",
"latitude":"14.621545",
"color":"#040098"}},
{"t":{
"level":"29",
"longtitude":"121.050323333333",
"latitude":"14.62153",
"color":"#040098"}},
// .....
我想做的是遍历对象的内容,以便能够独立地将它们推送到各自的数组中。 我有一个经度、纬度、颜色和级别的数组。
所以我尝试了以下方法:
var size = 0, key;
for (key in result) {
if (result.hasOwnProperty(key)) size++;
alert(result.data[size]);
}
-->但这只会提醒我“[object Object]”
success: function(result){
var size = 0, key;
for (key in result) {
for(var attr in key){
alert(attr['latitude']);
}
}
}
-->这给了我未定义的结果[key]
我已经通过这些代码检查了我的对象的大小只有 1
var size = 0, key;
for (key in result) {
if (result.hasOwnProperty(key)) size++;
}
alert(size);
我相信只有“数据”被读取。而“数据”中的其他内容则被忽略。
我读过this、this、enter link description here 和this,但它们似乎都处理不同的对象结构。感谢您的帮助。
更新 使用 console.log(),我已经确认,如果我没记错的话,只有第一个属性被获取
t
Object { level="35", longtitude="121.0508", latitude="14.6204083333333", more...}
color "#040098"
latitude "14.6204083333333"
level "35"
longtitude "121.0508"
我试过了
for (key in result) {
if (result.hasOwnProperty(key)) size++;
console.log(result.data[size]['level']);
}
--> 但它说未定义
基于我的对象的结构
data:[{"t":{'others'},'others'...]
我如何阅读“数据”中的所有内容?每个“数据”都有“t”。
【问题讨论】:
-
提示使用
console.log(),而不是alert()进行调试。 -
与 php 或 cakephp 无关。请仅使用与问题相关的标签。
-
PhpMyCoder-->哎呀抱歉,我正在使用 javascript 以及 cakephp 和 php。我的错。
-
Matt Ball--> 好吧,我会尝试.. 无论结果如何,我都会在这里发帖 :)
标签: javascript jquery arrays