我可以从http.ResponseWriter获取io.Writer吗?

fst*_*tab 2 io json go httpserver

我想json.Encoder用来写一个http.ResponseWriter.

我不知道,我在哪里得到http.ResponseWriter自己io.Writer

(io.Writer作为参数需要json.NewEncoder)

有任何想法吗?

Seb*_*ian 8

http.ResponseWriter实施Write([]byte) (int, error).因此,您可以在io.Writer需要的任何地方使用它.

func handler(w http.ResponseWriter, r *http.Request) {
    encoder := json.NewEncoder(w)
}
Run Code Online (Sandbox Code Playgroud)

在这里,您可以找到有关Go如何使用接口作为指定对象行为的方式的一些背景信息.