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

Why doesn't this JSON decode into my struct?

我在调用 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[]

将 JSON 值直接解码为 map[string]int。该地图对应于 JSON 值中的一个对象。

decoder := json.NewDecoder(r.Body)
var t map[string]int
err := decoder.Decode(&t)
if err != nil {
    log.Println("I tried")
    log.Println(r.Body)
}
log.Println(t)

similar playground example