горячо конвертировать ioutil.ReadAll в json в golang [дубликат]
Я пытаюсь преобразовать ответ в json в голанге.
func receive(w http.ResponseWriter, r *http.Request) {
reqBody, _ := ioutil.ReadAll(r.Body)
json.NewEncoder(w).Encode(string(reqBody))
println(string(reqBody))
func handleR() {
http.HandleFunc("/", receive)
log.Fatal(http.ListenAndServe(":30000", nil))
}
func main() {
handleR()
}
Моя цель - иметь конечную точку для отображения этого ответа в json.
2 ответа
Вы можете скопировать запрос напрямую, чтобы ответить. И не забываем о закрытии тела запроса.
func receive(w http.ResponseWriter, r *http.Request) {
defer r.Body.Close()
_, err := io.Copy(w, r.Body)
if err != nil {
panic(err)
}
}
Возможно, это то, что вы можете использовать:
bytes, err := json.Marshal(data)
if err == nil {
fmt.Fprint(w, string(bytes))
}