gpt4 book ai didi

javascript - 从服务器发送 JSON 需要 JSON.parse 两次

转载 作者:IT王子 更新时间:2023-10-29 02:24:25 24 4
gpt4 key购买 nike

出于某种原因,我必须调用 JSON.parse 两次才能在 JavaScript 中创建一个对象。我正在从 Go (Golang) 服务器生成 JSON。

这是我正在使用的 JavaScript 代码。

ws.onmessage = function(e) {
console.log(e.data);
console.log(JSON.parse(e.data));
console.log(JSON.parse(JSON.parse(e.data)));
};

这就是我在 Chrome 的控制台中看到的。

"{\"hello\":\"world\"}"
{"hello":"world"}
Object {hello: "world"}

这就是我在服务器端生成 JSON 的方式。我怀疑我的服务器代码有误。

var jsonBuffer bytes.Buffer

jsonBuffer.WriteString("{")
for key, value := range mydict {
jsonBuffer.WriteString(`"` + key `":"` + value + `"`)
}
jsonBuffer.WriteString("}")

return jsonBuffer.String()

这是对我正在做的工作的简化。实际上,mydict 被定义为 map[string]mystruct

mystruct 是这样的:

type mystruct struct {
Foo int
Bar float64
}

最佳答案

为什么要手动构建 json 响应?我建议使用 json 包。你的代码看起来像这样

package main

import (
"fmt"
"encoding/json"
)

type Mystruct struct {
Foo int
Bar float64
}

func main() {
m := Mystruct{1,100}
j, _ := json.Marshal(m)
fmt.Print(string(j))
}

关于javascript - 从服务器发送 JSON 需要 JSON.parse 两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24641039/

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