jQuery analizza array multidimensionale JSON

Ho un array JSON come questo:

{ "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" } ] } 

Voglio usare jQuery .getJSON per essere in grado di restituire i valori di ciascuno dei valori dell’array, ma non sono sicuro su come accedervi.

Finora ho questo codice jQuery:

 $.get('forums.php', function(json, textStatus) { //optional stuff to do after success alert(textStatus); alert(json); }); 

Come posso farlo con jQuery?

Il {} in JSON rappresenta un object. Ogni proprietà dell’object è rappresentata da key:value e comma separati. I valori delle proprietà sono accessibili dalla chiave usando l’operatore del periodo come json.forum . [] In JSON rappresenta un array. I valori dell’array possono essere qualsiasi object ei valori sono separati da virgola. Per ripetere su un array, utilizzare uno standard per il ciclo con un indice. Per eseguire un’iterazione sulle proprietà dell’object senza fare riferimento direttamente alla chiave che è ansible utilizzare for in ciclo for in entrata:

 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.. } } 

Se vuoi farlo in modo jQueryish, prendi $.each() :

 $.each(json.forum, function(i, object) { $.each(object, function(property, value) { alert(property + "=" + value); }); }); 

Ho usato gli stessi nomi delle variabili del modo "plain JavaScript" in modo che tu possa capire meglio cosa jQuery fa "sotto i cofani" con esso. Spero che questo ti aiuti.

Questo dovrebbe funzionare bene. Basta usare $.getJSON invece di $.get .