gpt4 book ai didi

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

转载 作者:IT王子 更新时间:2023-10-29 01:59:36 28 4
gpt4 key购买 nike

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

关于json - 为什么这个 JSON 没有解码到我的结构中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28259300/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com