json - Go:如何将响应体变成请求体?

标签 json elasticsearch go

我有一个向 elasticsearch 发出请求的处理程序。 我从那个请求中得到了 json 响应:

resp, err := http.Get(getUrl)
defer resp.Body.Close()
bodyString := ""
if resp.StatusCode == 200{
    bodyBytes, err := ioutil.ReadAll(resp.Body) 
    checkForError(err)
       bodyString = string(bodyBytes)

       fmt.Fprintf(w, bodyString)
}

我如何将那个 bodyString 变成我可以传递给这种 http.Post 的东西:

http.Post("https://httpbin.org/post", "application/json; charset=utf-8", jsonData)

最佳答案

我不太确定您要实现什么目标,但可能会有所帮助。

bodyBytes, err := ioutil.ReadAll(resp.Body)
reader := bytes.NewReader(bodyBytes)
http.Post("https://httpbin.org/post", "application/json; charset=utf-8", reader)

//or you can do it directly
//http.Post("https://httpbin.org/post", "application/json; charset=utf-8", resp.Body)

关于json - Go:如何将响应体变成请求体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37759697/

相关文章:

javascript - 使用 d3.js 迭代多维数组

javascript - 我有一个包含对象的多维数组,需要使用 javascript 计算每列的总和

ruby-on-rails - 用Tire重写SQL查询

scala - 通过 TcpClient.transport 连接时出现 elastic4s NoNodeAvailableException

docker - golang 程序在 docker 之外运行良好,但在 dockerized 时以 0 退出

Java - Json 数组到 json 对象

php - 在 PHP 中从 HTTP Get 接收 JSON 对象

performance - 用不同的Java堆进行Elasticsearch,这有关系吗?

unit-testing - 使用GAE测试时如何获取主机名?

go - 如何从 Go 中的另一个包导入结构