簡體   English   中英

golang websocket.JSON.Receive無效字符'q'尋找值的開頭

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM