type MyStruct struct {
Value json.RawMessage `json:"value"`
}
var resp *http.Response
if resp, err = http.DefaultClient.Do(req); err == nil {
if resp.StatusCode == 200 {
var buffer []byte
if buffer, err = ioutil.ReadAll(resp.Body); err == nil {
mystruct = &MyStruct{}
err = json.Unmarshal(buffer, mystruct)
}
}
}
fmt.Println(string(mystruct.Value))
\u003Chead>\n \u003C/head>\n \u003Cbody>
您决定使用json.RawMessage
来防止在JSON消息中使用键value
解析值。
字符串文字"\u003chtml\u003e"
是"<html>"
的有效json表示形式。
由于您告诉json.Unmarshal
不要解析此部分,因此它不会解析它,并按原样返回给您。
如果要将其解析为UTF-8字符串,则将MyStruct
的定义更改为:
type MyStruct struct {
Value string `json:"value"`
}
关于go - golang转换包含unicode的字节数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29304338/
欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) | Powered by Discuz! X3.4 |