为了账号安全,请及时绑定邮箱和手机立即绑定

golang websocket.JSON.Receive无效字符'q'寻找值的开始

golang websocket.JSON.Receive无效字符'q'寻找值的开始

Go
POPMUISE 2022-06-27 17:32:48
通过 websockets 接收 JSON 数据时出错寻找值开头的无效字符“q”我正在使用“golang.org/x/net/websocket”包我有一个消息结构:type Message struct {    Sender     *Client `json:"sender",omitempty`    Sendername string  `json:"senderName"`    Message    string  `json:"message"`}我用于在服务器上接收的代码是:var err error    for {        reply := Message{}        if err = websocket.JSON.Receive(ws, &reply); err != nil {            fmt.Println("Cannot receive " + err.Error())            break        }        fmt.Println(reply)}我传递的 JSON 字符串是{"senderName":"CJ","message":"DATA"}客户端:let msg = document.getElementById("message").value             let obj = { senderName : "CJ", message : msg}             console.log(JSON.stringify(obj))             sock.send(msg);我无法找出错误,我认为它与 JSON 数据有关。
查看完整描述

1 回答

?
茅侃侃

TA贡献1842条经验 获得超22个赞

该问题与客户端发送的数据有关。该数据可能不是 json 数据。

客户端当前发送document.getElementById("message").value的是字符串而不是 json 数据。

客户端代码应修改如下:

sock.send(JSON.stringify(obj))


查看完整回答
反对 回复 2022-06-27
  • 1 回答
  • 0 关注
  • 167 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号