我正在学习Go(Golang),并考虑到了一个项目.该项目将是一个Web应用程序,从第三方websocket中提取数据流.此时,我正在尝试让我的Go项目读取Web套接字数据,以便我可以解析它.
第三方websocket是JSON对象的数据流.
到目前为止,我已经能够成功地收听websocket.但是,我对如何最好地解决这个问题感到困惑.也就是说,我在Websocket库上使用的读取方法正在获得一些字节.转变为JSON对象似乎具有挑战性.有没有更好的方法来读取websocket - 收集JSON对象?
目标
我的目标是收听这个公共Web套接字,获取json对象 - 我可以解析一个我想要的字段,然后将其拉入视图(使用数据流动态更新).
如果没有,我如何将切片的字节转换回JSON对象?
码
这是我的代码:
package main
import (
"golang.org/x/net/websocket"
"fmt"
"log"
)
func main(){
origin := "http://localhost/"
url := "wss://ws-feed.gdax.com"
ws, err := websocket.Dial(url, "", origin)
if err != nil {
log.Fatal(err)
}
if _, err := ws.Write([]byte(`{"type":"subscribe", "product_ids":["LTC-USD"]}`)); err != nil {
log.Fatal(err)
}
var msg = make([]byte, 512)
var n int
for 1>0{
if n, err = ws.Read(msg); err != nil {
log.Fatal(err)
}
fmt.Printf("Received: %s.\n", msg[:n])
}
}
Run Code Online (Sandbox Code Playgroud)