我正在try 连接到执行JSON数据的http流的端点.我想知道如何使用Go的net/http包执行基本请求,并在收到响应时读取它.目前,我只能在连接关闭时读取响应.
resp, err := http.Get("localhost:8080/stream")
if err != nil {
...
}
...
// perform work while connected and getting data
任何有识之士都将不胜感激!
谢谢!
-钢筋混凝土
我正在try 连接到执行JSON数据的http流的端点.我想知道如何使用Go的net/http包执行基本请求,并在收到响应时读取它.目前,我只能在连接关闭时读取响应.
resp, err := http.Get("localhost:8080/stream")
if err != nil {
...
}
...
// perform work while connected and getting data
任何有识之士都将不胜感激!
谢谢!
-钢筋混凝土
执行JSON流解析的方法是使用解码器:
json.NewDecoder(resp.Body).Decode(&yourStuff)
对于一个流API来说,它是一堆返回的对象(就像Twitter一样),那么这个模型和内置的编码/json API应该可以很好地流传输.但是,如果是一个大型响应,其中有一个对象拥有一个包含10MB内容的巨型数组,那么您可能需要编写自己的解码器来取出这些内部片段并返回它们.我正在用我写的一个图书馆遇到这个问题.