Hey guys I am getting websocket information from external Api and it's give me json response in this way:
`{"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}}"]}`
I am putting it into this 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"`
}
and decode it with code
sReplace := strings.NewReplacer(`"{`, "{", `"]`, "]", "", ``)
strN := sReplace.Replace(str)
r := strings.NewReader(strN)
d := json.NewDecoder(r)
m := main{}
I am getting error
invalid character 'h' after object key:value pair
I know that the error is result of text field value. Is there any good way to clean it up or tell the decoder to ignore content of text field?
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…