2017-07-25 3 views
0

Ich verwende die folgende:Wie bekomme ich Objektdaten nach einem API-Anruf?

var myTitle = "Battaglia di Forte Ṭabarsí"; 
var langList; 
var url="https://it.wikipedia.org/w/api.php?action=parse&disablelimitreport=true&format=json&prop=text|langlinks&noimages=true&mobileformat=true&page="+ myTitle + "&callback=?"; 
$.getJSON(url,function(data){ 
    jQuery.each(data, function(i, item) { 
     langList = item.langlinks; 
    }); 
    console.log(langList); 
}); 

ich die Seite verschiedene Sprachen und andere Eigenschaften hat, sehen kann, die ich bekommen kann, wenn ich den Parameter langlinks im api verwenden, aber dann in der Konsole erhalte ich:

(6) [Object, Objekt, Objekt, Objekt, Objekt, Objekt]

ich mag diese Daten zuzugreifen, wie Titel in einer anderen Sprache und im Grunde alle Objekte ausgeben zu können, und insbesondere irgendwelche Eigenschaften jedes Objekts.

Hier ist es ein jsFiddle, um die Konsole zu überprüfen.

Antwort

1

data ist ein object. Es enthält prase (property), die selbst ein object ist, enthält langLinks (property): Array von objects

Wenn Sie langLinks Artikel zugreifen möchten, [ ] den Index-Notation wie folgt: langLinks[index] Es besteht keine Notwendigkeit für jQuery.each(d... können Sie bestimmte Sprache durch langLinks Filterung Zugriff

data.parse.langlinks.filter(function(val){ return val.lang === 'en'}); 

Wenn Objekts proparties Zugriff, verwenden Sie den Punkt oder Index-Notation (val.lang)

+0

ich sehe, wie würde ich Ausgang tho den lang Wert? Ich kann sehen, dass Sie es dort definiert haben, aber wie man es automatisch ausgibt? –

+0

Ich habe die genaue Frage zu spät bemerkt, mein Schlechter. Wenn der Schlüssel ein ganzes Wort ist (ohne Leerzeichen oder '-' und etc), können Sie Punktnotation verwenden. Andernfalls verwenden Sie val ['key'], um den Wert zu erhalten. Und ja, JSON ist eine JavaScript Object Notation. Es ist bereits definiert. –

+0

was, wenn ich eine Liste aller lang tho bekommen möchte? –

Verwandte Themen