go json.Unmarshal报错invalid chara

2021-12-18  本文已影响0人  岑吾

从网站上获取的一个json字符串数据,使用json.Unmarshal序列化失败,报错invalid character 'ï' looking for beginning of value。查看json字符串没问题,但是查看byte格式的数据时发现前缀有问题。

在json数据中,可见的第一个字符串是[, 应该是91才对,但这里是239,组全一下后面的187,191。这不正是\xef\xbb\xbf, .BOM 标识文本是 UTF-8 编码的头字段啊。这应该是编码问题了,最简单的办法就是在接收到的byte组时,直接将前面的这三个字符删了就可以了

body = bytes.TrimPrefix(body, []byte("\xef\xbb\xbf"))
上一篇下一篇

猜你喜欢

热点阅读