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 itを実行すると、次のようになります。

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 に答える