第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

來自比特幣 api 的 Golang json 查詢返回無效字符

來自比特幣 api 的 Golang json 查詢返回無效字符

Go
翻翻過去那場雪 2021-11-01 16:23:50
有些東西告訴我我沒有正確理解 json。我試圖從http://api.bitcoincharts.com/v1/trades.csv?symbol=rockUSD獲取一些數據,但我的 Unmarshal 似乎無法讀取 json 數據。我是 golang(以及 json)的新手,我想知道我如何能夠跳過我正在犯的那個錯誤的字符錯誤。我的錯誤:invalid character ',' after top-level valuepanic: invalid character ',' after top-level value我的代碼:package mainimport ("fmt"    "net/http"    "io/ioutil"    "encoding/json")type Prices struct {    Data string}func main() {    url := "http://api.bitcoincharts.com/v1/trades.csv?symbol=rockUSD"    httpresp, err := http.Get(url)    if err != nil{        fmt.Println(err)        panic(err)    }    defer httpresp.Body.Close()    htmldata, err := ioutil.ReadAll(httpresp.Body)    if err != nil{        fmt.Println(err)        panic (err)    }    var jsonData []Prices    err = json.Unmarshal([]byte(htmldata), &jsonData)    if err != nil {        fmt.Println(err)        panic (err)    }    fmt.Println(jsonData)}
查看完整描述

1 回答

?
米琪卡哇伊

TA貢獻1998條經驗 獲得超6個贊

那根本不是 json 數據,您必須編寫自定義解析器。


例子:


.........

data := readData(httpresp.Body)

........


func readData(r io.Reader) (out [][3]float64) {

    br := bufio.NewScanner(r)

    for br.Scan() {

        parts := strings.Split(br.Text(), ",")

        if len(parts) != 3 {

            continue

        }

        var fparts [3]float64

        for i, p := range parts {

            // bad idea to ignore errors, but it's left as exercise for the reader.

            fparts[i], _ = strconv.ParseFloat(p, 64)

        }

        out = append(out, fparts)

    }

    return

}


查看完整回答
反對 回復 2021-11-01
  • 1 回答
  • 0 關注
  • 362 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號