0

我会像这样拥有我的PHP:

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]);
        }
});
4

2 回答 2

1

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

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

所以要回答你的问题,是的,你的输出有问题。您可以在以下位置验证您的 JSON:http: //jsonformatter.curiousconcept.com/

于 2012-04-22T17:26:36.317 回答
0

.each()而是沿着 json 数据遍历

function(tagged) {        
    $.each(tagged, function(k,v) {
       alert(v);
    });
}
于 2012-04-22T17:56:32.263 回答