次のようなJSON配列があります。
{
"forum":[
{
"id":"1",
"created":"2010-03-19 ",
"updated":"2010-03-19 ","user_id":"1",
"vanity":"gamers",
"displayname":"gamers",
"private":"0",
"description":"All things gaming",
"count_followers":"62",
"count_members":"0",
"count_messages":"5",
"count_badges":"0",
"top_badges":"",
"category_id":"5",
"logo":"gamers.jpeg",
"theme_id":"1"
}
]
}
JQueryを使用したい.getJSON
は、各配列値の値を返すことができますが、それらにアクセスする方法についてはわかりません。
これまでのところ、私はこのjQueryコードを持っています:
$.get('forums.php', function(json, textStatus) {
//optional stuff to do after success
alert(textStatus);
alert(json);
});
JQueryでこれを行うにはどうすればよいですか?
JSONの_{}
_はオブジェクトを表します。オブジェクトの各プロパティは、_key:value
_とコンマ区切りで表されます。プロパティ値は、_json.forum
_のようなピリオド演算子を使用してキーからアクセスできます。 JSONの_[]
_は配列を表します。配列の値は任意のオブジェクトにすることができ、値はコンマで区切られます。配列を反復処理するには、インデックス付きの標準forループを使用します。キーで直接参照せずにオブジェクトのプロパティを反復処理するには、_for in
_ループを使用できます。
_var json = {"forum":[{"id":"1","created":"2010-03-19 ","updated":"2010-03-19 ","user_id":"1","vanity":"gamers","displayname":"gamers","private":"0","description":"All things gaming","count_followers":"62","count_members":"0","count_messages":"5","count_badges":"0","top_badges":"","category_id":"5","logo":"gamers.jpeg","theme_id":"1"}]};
var forum = json.forum;
for (var i = 0; i < forum.length; i++) {
var object = forum[i];
for (property in object) {
var value = object[property];
alert(property + "=" + value); // This alerts "id=1", "created=2010-03-19", etc..
}
}
_
これをjQueryの方法で行いたい場合は、 $.each()
を取得します。
_$.each(json.forum, function(i, object) {
$.each(object, function(property, value) {
alert(property + "=" + value);
});
});
_
「プレーンJavaScript」の方法と同じ変数名を使用したので、jQueryが「内部で」何をするのかをよりよく理解できます。お役に立てれば。
それはうまくいくはずです。 $.getJSON
の代わりに$.get
を使用してください。