0
嗨我是從外部API獲取的WebSocket信息,它是給我這樣的JSON響應:解碼JSON包括JSON編碼字符串
`{"name":"message","args":["{\"method\":\"chatMsg\",\"params\":{\"channel\":\"channel\",\"name\":\"name\",\"nameColor\":\"B5B11E\",\"text\":\"<a href=\\\"https://play.spotify.com/browse\\\" target=\\\"_blank\\\">https://play.spotify.com/browse</a>\",\"time\":1455397119}}"]}`
我把它歸到這個STRUC
type main struct {
Name string `json:"name"`
Args []arg `json:"args"`
}
type arg struct {
Method string`json:"method"`
Params par `json:"params"`
}
type par struct {
Channel string `json:"channel,omitempty"`
Name string `json:"name,omitempty"`
NameColor string `json:"nameColor,omitempty"`
Text string `json:"text,omitempty"`
Time int64 `json:"time,omitempty"`
}
與代碼
sReplace := strings.NewReplacer(`"{`, "{", `"]`, "]", "\\", ``)
strN := sReplace.Replace(str)
r := strings.NewReader(strN)
d := json.NewDecoder(r)
m := main{}
我收到錯誤
對其進行解碼invalid character 'h' after object key:value pair
我知道錯誤是文本字段值的結果。有沒有什麼好的方法來清除它或告訴解碼器忽略文本字段的內容?
哇非常感謝你我試圖整天弄明白。這struc和json總是困難的地方:( – user3398940