### Bitflyerからの取得
package main
import (
"fmt"
"io/ioutil"
"net/http"
)
func main() {
uri := "https://api.bitflyer.com/v1/gethealth"
req, _ := http.NewRequest("GET", uri, nil)
client := new(http.Client)
resp, _ := client.Do(req)
defer resp.Body.Close()
byteArray, _ := ioutil.ReadAll(resp.Body)
fmt.Println(string(byteArray))
}
$ go run gethealth.go
{“status”:”NORMAL”}
### Jsonの扱い
GoでJsonの受け取り方
1. 構造体を定義
type User struct {
Name string `json:"name"`
Age int `json:"age"`
Job string `json:"job"`
}
func main() {
userStr :=
`{
"name": "tokumaru",
"age": 20,
"job": "student"
}`
var user User
json.Unmarshal([]byte(userStr),&user)
fmt.Println(user.Name)
}
// 構造体を定義
type User struct {
Name string `json:"name"`
Age int `json:"age"`
Job string `json:"job"`
}
$ go run test.go
tokumaru
↓上記をつなげる
### Bitcoinの価格を取得
bitcoinは小数点なので、float64で定義する。
表示する際は、fmt.Printf(“%.0f\n”,ticker.Ltp)として、小数点以下を切り捨てる
package main
import (
"fmt"
"encoding/json"
"io/ioutil"
"net/http"
)
func main() {
uri := "https://api.bitflyer.com/v1/getticker"
req, _ := http.NewRequest("GET", uri, nil)
client := new(http.Client)
resp, _ := client.Do(req)
defer resp.Body.Close()
byteArray, _ := ioutil.ReadAll(resp.Body)
var ticker Ticker
json.Unmarshal([]byte(byteArray),&ticker)
fmt.Printf("%.0f\n",ticker.Ltp)
}
// 構造体を定義
type Ticker struct {
Code string `json:"product_code"`
Ltp float64 `json:"ltp"`
}
$ go run test.go
5014562
これをHTMLで表示させたい














