Possible Duplicate:
jquery reading nested jsonczytanie zagnieżdżone JSON za pośrednictwem AJAX z jQuery lub JavaScript i wyprowadzania do tabel
ja naprawdę chciałbym mieć twardy i szybki sposób pętli wielu rekordów w JSON, każdy z potencjalnie głębokie zagnieżdżenia. Po prostu chcę wyprowadzać do tabeli.
Nie jestem pewien, jakie argumenty należy przekazać za pośrednictwem funkcji() dla $ .each() lub dla metodologii javascript dla sukcesu $ .ajax(). Wszystkie przykłady wydają się używać słów rodzajowe „dane” lub „obj”, ale te mylić mnie - są one wbudowane w funkcjonalnych argumentów czy mogę wymienić je co chcę podoba:
$.each(foo, function(bar){
});
i jak mogę śledzić gdzie jestem w pętli/gniazdo?
Wolałbym używać JQuery, ale powinienem także znać prostą metodę JavaScript, aby to zrobić. Chciałbym też wiedzieć, czy jest to możliwe bez setki linii kodu.
Z tego JSON jako przykład:
{
date: " 2012-10-18 16:58:35.104576",
data: [{
title: "The Princess Bride",
rating: "PG",
length: 128,
stars: [
"Gary Elwes",
"Robin Wright",
"Christopher Guest"
]
}, {
title: "This is Spinal Tap",
rating: "R",
length: 105,
stars: [
"Christopher Guest",
"Michael McKean",
"Harry Shearer"
]
}]
}
nie mogę znaleźć żadnych użytecznych przykładów, które zawierają zagnieżdżone JSON, nawet tutaj w StackOverflow.
jaki jest najskuteczniejszy sposób przechodzenia i przypisywania każdego elementu do komórki tabeli? Wyjście HTML nie jest ważne - wiem, jak zrobić tabelę ... Jak uzyskać "gwiazdki"?
Kiedy użyć konsoli Chrome i po prostu $.getJSON('/example');
mam cały JSON zwrócony w responseText, począwszy "{"date":"2012-10-18 ,"data": [{"title": "The Princess Bride",
Jednakże w żadnym docs JSON, JQuery docs na $ .getJSON, ani w żadnych przykładów JavaScript mogę znaleźć odniesienie do responseText
. Więc jestem zagubiony. Jaki argument musi $ .getJSON zobiektywizować responseText?
Odnośnie ostatniego komentarza, należy go przeanalizować. Wypróbuj 'var myData = JSON.parse (responseText);' Może ci się też przydać wypuszczenie go na konsolę: 'console.log (myData)' Następnie możesz zrobić coś takiego: 'var someStars = myData.data [0] ] .stars; ' Daj mi znać, jeśli masz jakieś pytania dotyczące zapętlenia twoich danych. – IanW