这必须相当简单,但是我无法弄清楚为什么在用go发出HTTP请求时,请求的主体被包裹在另外的花括号中:
package main
import (
"bytes"
"fmt"
"net/http"
)
func main() {
jsonStr := []byte(`{"some":"test","json":"data"}`)
req, _ := http.NewRequest("POST", "http://test.com", bytes.NewBuffer(jsonStr))
fmt.Print(req.Body)
}
Run Code Online (Sandbox Code Playgroud)
结果是:
{{"some":"test","json":"data"}}
Run Code Online (Sandbox Code Playgroud)
在我的实际代码中,我使用json.Marshal和一个用于生成字节缓冲区的结构,但得到的结果相同。结果是API拒绝了请求(按预期)。
如何防止添加多余的花括号?
go ×1