Próbuję wyciągnąć tekst z artykułu w Wikipedii, używając jego API (API jest hojnym określeniem tego, co oferuje, ale będziemy go używać, jak sądzę), a ja jestem uruchamianie problemów związanych z analizowaniem kolejnego obiektu JSON, który otrzymuję. Mianowicie, obiekt zawiera tekst szukam pod klucz, którego etykieta jest „*” taki sposób, że po uruchomieniu komendy:Wikipedia API - Uzyskiwanie dostępu do obiektu JSON
$.getJSON("http://en.wikipedia.org/w/api.php?action=parse&format=json&callback=?", {page:"Red Sea clownfish", prop:"text"}, function(data) {
I wtedy próbować analizować te informacje do łańcucha za pomocą polecenia:
var dat = data.parse.text.*;
Który ja wtedy wyprowadzania do konsoli za pomocą:
console.log(dat);
Niestety, ani Google Chrome ani Firefox wydaje się być w stanie przetworzyć '*'
klawisz. Kiedy zrzucam pełny obiekt "danych" do konsoli, widzę, że (zagnieżdżone) klucze dla struktury danych to "parsowanie", "tekst" i '*'
. Mogę nawet zrzucić wymagany tekst do klawisza "*". To znaczy.
var dat = data.parse.text;
działa. Po prostu postać "*" nie chce być rozpoznawana.
Wszelkie pomysły na rozwiązanie tego problemu? Idealnie chciałbym uzyskać dostęp do wartości, do której odwołuje się klucz "*". Po prostu nie mam pojęcia, jak go zaprogramować w javascript.
Tak z ciekawości, co się z '' = zwrotnego? (Wydaje się działać tak samo, jak pusty callback, prawdopodobnie dlatego, że MediaWiki rozbiera nieprawidłową postać.) –
Tak! Wikipedia/MediaWiki ma bez wątpienia najbardziej przerażające API na świecie. – Jaseem