2011-01-07 20 views
0

にこんにちは、私は、サーバーから返されるJSON配列を持っている... それはこのようなものになります:作成しようとしてjqueryの反復のJSONオブジェクト

<div id="images"></div> 

とイム:私はこれを持って

[{ ImageUrl="http://www.google.com"}, { ImageUrl="http://www.bing.com"}] 

をデータに基づいた画像ですが、jqueryに苦労しています

$.each(json.imageData.ImageUrl, function (i, ImageUrl) { 
    $("<img/>").attr("src", ImageUrl).appendTo("#images"); 

}); 

エドは部門に?

+0

は実際のJSONということですか?無効です... – lonesomeday

答えて

4

まず、JSONが無効です。あなたはここでそれを検証することができます。

[ 
    { 
     "ImageUrl": "http://domain.com/image.jpg" 
    }, 
    { 
     "ImageUrl": "http://domain.com/image2.jpg" 
    } 
] 

お知らせあなたのコード内で欠落していた二重引用符http://jsonlint.com

私はあなたがやろうとしているものだと思うが、これです。 JSONでは、キーと値の両方に二重引用符(一重引用符も二重引用符も使用しない)を使用する必要があります。

第2に、値ではなく配列を反復しようとしています。

はこれで試してみてください:

$.each(json.imageData, function (i, img) { 
    $("<img>").attr("src", img.ImageUrl).appendTo("#images"); 
}); 
+0

各アイテムの値が増えたらどうなりますか? {"ImageUrl": "http://domain.com/image.jpg"、 "Alt": "FooBar"} – raklos

+0

申し訳ありませんが、私の間違いです。更新された例のように、img.ImageUrlでオブジェクトにアクセスすることができます。したがって、Altにアクセスしたい場合は、img.Altを使用してください。希望が助けてくれる! – mekwall

+1

私はJSONサイト(http://www.json.org/)をチェックし、* double quote *で囲んだ文字列を定義しています。さて、私は一重引用符で十分だと思った。私は二重引用符がJSON形式のコンシニュリエンスのために使用されていると思う。 – OnesimusUnbound

関連する問題