从服务器发送JSON需要JSON.解析两次
Sending JSON from server requires JSON.parse twice
出于某种原因,我不得不调用JSON。解析两次以在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))
}
相关文章:
- Meteor Router数据函数被调用两次
- 从MySQL数据库中获取输入数据需要两次页面刷新
- Module.start()已激发两次
- Jquery点击事件必须点击两次
- Append元素在运行两次函数后不显示
- 防止双击执行两次jQuery post请求
- 我必须点击两次才能激活任何按钮操作(离子/角度)
- 单击jQuery会激发两次
- 如何避免在树上走两次
- button.单击两次删除附加操作后不工作
- 由于$compile,Javascript(Angular)嵌套指令加载了两次
- 单击元素两次后执行操作
- AngularJs正在阻止链接被点击两次
- 如何在函数上使用 JavaScript 的 JSON 文件两次
- 为什么 ajax 'application/json' 要运行 PHP 代码两次
- nodeJs,运行两次sql可以将它们组合成json
- 我的 JSON 数据使用 AJAX 加载了两次,它只应该在单击时加载一次
- AngularJS.使用缓存时,防止加载JSON数据两次
- 从服务器发送JSON需要JSON.解析两次
- 解析字符串化两次的json对象