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
.