为什么这个 JSON 没有解码到我的结构中?

我在调用 JSON.stringify 之后发送这种数组


{

  "世": 1,

  "界": 1,

  "最": 1,

  "強": 1

}

但是在使用 json.NewDecoder.Decode 时遇到问题,是我的结构有问题吗?


type text struct {

    Text map[string]int

}

我也无法将该数据发送回前端,如何将我的数据转换回 []byte 或者是否有另一种方法可将 json 发送回前端?


func PostHandler(w http.ResponseWriter, r *http.Request){

    log.Println("post start")

    if r.Method != "POST" {

        log.Println("in post but early return")

        http.NotFound(w, r)

        return

    }


    decoder := json.NewDecoder(r.Body)

    var t text

    err := decoder.Decode(&t)

    if err != nil {

        log.Println("I tried")

        log.Println(r.Body)

    }

    log.Println(t.Text)

    //w.Write([]byte(t.Text))     //throws conversion error

}    

(我试图在前端和后端之间来回发送数据,以便在继续和扩展之前了解基础知识)


另外从日志打印的是


post start

map[]


小怪兽爱吃肉
浏览 162回答 1
1回答

拉莫斯之舞

将 JSON 值直接解码为map[string]int. 该映射对应于 JSON 值中的一个对象。decoder := json.NewDecoder(r.Body)var t map[string]interr := decoder.Decode(&t)if err != nil {    log.Println("I tried")    log.Println(r.Body)}log.Println(t)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go