Avatar ·

Como enviar uma string JSON em uma requisição POST em Go?

Olá a todos! Recentemente comecei a estudar Go e estou escrevendo um pequeno cliente REST para trabalhar com uma API externa. Preciso enviar uma requisição POST com o corpo no formato JSON, mas não consigo entender como fazer isso corretamente. Tenho uma estrutura de dados que serializo em JSON e quero enviá-la para o servidor. Aqui está o que tentei: ```go package main import ( "fmt" "net/http" "strings" ) type User struct { Name string `json:"name"` Email string `json:"email"` } func main() { user := User{Name: "Ivan", Email: "ivan@example.com"} // Como envio isso como JSON em uma requisição POST? resp, err := http.Post("https://api.example.com/users", "application/json", strings.NewReader(user)) if err != nil { fmt.Println(err) } fmt.Println(resp) } ``` Entendo que `strings.NewReader(user)` não funciona, pois espera-se uma string, não uma struct. Mas como converter corretamente a struct em JSON e enviá-la? É necessário usar