它产生类似:

文件位于:http://golang.org/pkg/encoding/json/#Unmarshal

说:
解组带引号的字符串时,无效的UTF-8或无效的UTF-16代理对不会被视为错误。 而是将它们替换为Unicode替换字符U + FFFD。

我有点认为这是怎么回事。 我只是看不到答案,因为我的围棋经验很少,我很累。


您决定使用json.RawMessage来防止在json消息中使用键value解析值。

字符串文字"\\u003chtml\\u003e"""的有效json表示形式。

由于您告诉json.Unmarshal不要解析此部分,因此它不会解析它并将它原样返回给您。

如果要将其解析为UTF-8字符串,则将MyStruct的定义更改为:


有一种方法可以将json.RawMessage中的转义unicode字符转换为仅有效的UTF8字符,而无需将其解组。 (因为我的主要语言是韩语,所以我不得不处理这个问题。)

您可以使用strconv.Quote()strconv.Unquote()进行转换。

https://play.golang.org/p/pUsrzrrcDG-

希望这会有所帮助:D