使用 UTF-8 BOM 解组 JSON 时出现无效字符错误
当尝试解组从 HTTP 请求接收到的 JSON 数据时,您可能会遇到错误:“寻找值开头的字符‘ï’无效。”
This当服务器发送包含字节顺序标记 (BOM) 的 UTF-8 文本字符串时,会出现错误。 BOM 表示编码类型,但在解码前应将其去除。
解决方案:
使用以下代码从 JSON 数据中删除 BOM:
body = bytes.TrimPrefix(body, []byte("\xef\xbb\xbf")) // Or []byte{239, 187, 191}
需要注意的是,解释为 ISO-8859-1 字符串的 UTF-8 BOM 会生成字符,解释错误消息中的“ï”字符。
通过删除 BOM,可以将数据成功解组为所需的数据结构(本例中为 TransformTextResponse)。
以上是如何修复解组 JSON 时的'无效字符 'ï' 寻找值的开头”错误?的详细内容。更多信息请关注PHP中文网其他相关文章!