[英]golang websocket.JSON.Receive invalid character 'q' looking for beginning of value
通過 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 數據有關。
該問題與客戶端發送的數據有關。 該數據可能不是 json 數據。
客戶端當前正在發送document.getElementById("message").value
它是一個字符串而不是一個 json 數據。
客戶端代碼應修改如下:
sock.send(JSON.stringify(obj))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.