горячо конвертировать 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))
}
Другие вопросы по тегам