2017-12-05 1 views
0

Im Versuch, eine API https://min-api.cryptocompare.com/data/pricemultifull?fsyms=XRP,BTC,ETH,BCH&tsyms=USDCreate Array mit JSON Ergebnisse

Die Ergebnisse abfragen in Teh folgenden Format DISPLAY sind: XRP: USD: CHANGEPCT24HR Die oben ist das Element i eine Reihe von obwohl XRP erstellen möchten wird wieder mit jedem fsyms Wert

ersetzt

Dies ist mein Code so weit

$json_string = file_get_contents("https://min-api.cryptocompare.com/data/pricemultifull?fsyms=XRP&tsyms=USD"); 
    $parsed_json = json_decode($json_string, true); 
    $btcp = $parsed_json['DISPLAY']['XRP']['USD']; 
    $btcchange = $parsed_json['DISPLAY']['XRP']['USD']['CHANGEPCT24HOUR']; 

ich weiß, ich sollte nicht schreiben „wie ich“ Fragen bu Es gibt so viele mögliche Methoden jquery (map) toArray usw. Ich weiß einfach nicht, wo ich anfangen soll

+0

Grundsätzlich Sie wollen einfach nur die Daten von dieser URL holen jQuery? Wenn ja, versuchen Sie es mit [jQuery.get] (https://api.jquery.com/jquery.get/) – Shashank

+0

nichts zu tun wird in den Beifall schauen –

+0

$ .get (URL) .done (Funktion (resp) {console.log (resp);}) gibt die Antwort aus. Hast du das versucht? – Shashank

Antwort

0

Hier ist die Lösung, um ein Array zu erstellen (gemappt auf jQuery Parameter an den AJAX-Aufruf gesendet).

JS FIDDLE

Relevante Code:

var fsyms = 'XRP,BTC,BCH', tsyms = 'USD', change_attr = 'CHANGEPCT24HOUR', values = []; 

$.ajax({ 
    url: 'https://min-api.cryptocompare.com/data/pricemultifull', 
    data: { 
    fsyms: fsyms, tsyms: tsyms 
    } 
}).done(function (resp) { 
    console.log(resp); 
    var display_val = resp['DISPLAY']; 
    fsyms.split(',').map(function(d) { 
    values.push({name: d, value: display_val[d][tsyms][change_attr]}); 
}); 

console.log(values); 
}); 
+0

Cheers Mate akzeptiert, dass jetzt ist es möglich, das Array nach dem höchsten Wert zu sortieren? Was ich im Idealfall tun möchte, ist dies innerhalb eines setInterval schieben und es die URL jede x Anzahl von Sekunden abfragen, die dann die prozentuale Änderung in Echtzeit anzeigen wird –