2012-04-22 40 views
0

我有我的PHP像这样:我的json结构有什么问题吗?

array(2) { 
    [0]=> 
    object(stdClass)#20 (1) { 
    ["name"]=> 
    string(5) "Indie" 
    } 
    [1]=> 
    object(stdClass)#21 (1) { 
    ["name"]=> 
    string(12) "Cult-classic" 
    } 
} 

然后json_encode它导致这样的:

0: {name:Indie} 
name: "Indie" 
1: {name:Cult-classic} 
name: "Cult-classic" 

那么这是为什么越来越不确定的(它实际上只是遍历每个字符处理结构字符串

for(var i = 0; i < tagged.length; i++) { 
    alert(tagged[i].name); 
} 

更新:

$.post('/host/tags/item_tags/' + movieId, 
    function(tagged) { 
     alert(tagged); 
     for(var i = 0; i < tagged.length; i++) { 
      alert(tagged[i]); 
     } 
}); 
+0

什么是JSON输出JSON数据:您可以验证您的JSON?你可以发布它吗? – 2012-04-22 17:26:15

+0

如果你做'alert(tagged [i]);'你会得到什么 – mgraph 2012-04-22 17:26:23

+0

添加更多的代码,你如何使用它,并发布完整的** JSON **输出,'你粘贴的一个是无效的。 – 2012-04-22 17:28:33

回答

1

不知何故,我怀疑json_encode()是给你那种破产。这是合适的输出:

[ 
    {"name":"Indie"}, 
    {"name":"Cult-classic"} 
] 

所以要回答你的问题,是的,你的输出有问题。 http://jsonformatter.curiousconcept.com/

+0

其实这就是alert标记)产量,chrome dev没有引号。 – 2012-04-22 17:45:37

0

Tranverse随着.each()代替

function(tagged) {   
    $.each(tagged, function(k,v) { 
     alert(v); 
    }); 
} 
+0

试过同样的问题 – 2012-04-22 17:57:18