go
data_error
ai_generated
true
错误:字符串字面量中存在无效的UTF-8
error: invalid UTF-8 in string literal
ID: go/encoding-json-invalid-utf8-in-string
80%修复率
80%置信度
0证据数
2024-07-01首次发现
版本兼容性
| 版本 | 状态 | 引入 | 弃用 | 备注 |
|---|---|---|---|---|
| 1.20 | active | — | — | — |
| 1.21 | active | — | — | — |
根因分析
JSON输入在字符串中包含无效的UTF-8字节序列,违反了JSON规范。
English
JSON input contains invalid UTF-8 byte sequences within a string, violating JSON specification.
解决方案
-
85% 成功率 Use json.Decoder with DisallowUnknownFields and validate input
decoder := json.NewDecoder(reader) decoder.DisallowUnknownFields() if err := decoder.Decode(&target); err != nil { /* handle */ }
无效尝试
常见但无效的做法:
-
Using strings.Replace to remove non-UTF8 characters
70% 失败
May corrupt data; better to use utf8.ValidString and reject or sanitize.