Domanda

Sono nuovo per lo sviluppo di API e backend in generale e ho cercato per alcune ore ora per capire come fare qualcosa di semplice come chiamare il prezzo attuale del mercato di Bitcoin nell'app My Rails.

Ho provato a fare riferimento a http://blockchain.info/ticker con il seguente codice nel mio modello e poi mettilo in mio avviso

<%= @test %>
.

So che questo è lontano ma sono in perdita e ho capito che vedrei se qualcuno potesse fornire una buona risorsa o forse farmi entrare nella giusta direzione.Molte grazie

È stato utile?

Soluzione

Amico, tutto è buono.

Sostituisci dati [0] ["CNY"] con i dati ["CNY"] , questo è tutto.

Per ottenere più manico, eseguire queste linee 1 per 1 in IRB,

Proprio come questo,

1.9.3p385 :001 > require 'rest-client'
 => true 
1.9.3p385 :002 > require 'json'
 => true 

1.9.3p385 :004 > base_url = "http://blockchain.info/ticker"
 => "http://blockchain.info/ticker" 

1.9.3p385 :005 > response = RestClient.get base_url

1.9.3p385 :006 > data = JSON.load response

1.9.3p385 :007 > cool = data["CNY"]
 => {"15m"=>5519.13613, "last"=>5519.13613, "buy"=>5578.16433, "sell"=>5853.54832, "24h"=>5616.47, "symbol"=>"¥"} 

1.9.3p385 :008 > @test = JSON.pretty_generate cool
 => "{\n  \"15m\": 5519.13613,\n  \"last\": 5519.13613,\n  \"buy\": 5578.16433,\n  \"sell\": 5853.54832,\n  \"24h\": 5616.47,\n  \"symbol\": \"¥\"\n}" 

1.9.3p385 :009 > p @test
"{\n  \"15m\": 5519.13613,\n  \"last\": 5519.13613,\n  \"buy\": 5578.16433,\n  \"sell\": 5853.54832,\n  \"24h\": 5616.47,\n  \"symbol\": \"¥\"\n}"
 => "{\n  \"15m\": 5519.13613,\n  \"last\": 5519.13613,\n  \"buy\": 5578.16433,\n  \"sell\": 5853.54832,\n  \"24h\": 5616.47,\n  \"symbol\": \"¥\"\n}"
.

Altri suggerimenti

Ti consiglierei di utilizzare httparty che semplifica l'invio di richieste molto più semplici. Per quanto riguarda il tuo esempio, potresti fare

require 'httparty'
require 'json'

base_url = "http://blockchain.info/ticker"
response = HTTParty.get(base_url)
data = JSON.parse(response.body)
data.each_pair do |ticker, stats|
  pp "Ticker: #{ticker} - 15m: #{stats['15m']}"
end
.

Ovviamente sono PP (stampa) fuori una stringa solo per mostrare i dati.Renderà effettivamente i dati nella vista se dovessi fare una vera implementazione.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top