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>
文档在:http : //golang.org/pkg/encoding/json/#Unmarshal
说:解组引用的字符串时,无效的 UTF-8 或无效的 UTF-16 代理项对不会被视为错误。相反,它们被 Unicode 替换字符 U+FFFD 替换。
我觉得这就是正在发生的事情。我只是看不到答案,因为我对 Go 的经验很少,而且我很累。
凤凰求蛊
相关分类