# 错误：json：无法将对象反序列化为Go结构体类型 { Name string `json:"name"` }

- **ID:** `go/encoding-json-unmarshal-unknown-field`
- **领域:** go
- **类别:** data_error
- **验证级别:** ai_generated
- **修复率:** 80%

## 根因

JSON数据包含结构体中未定义的字段，encoding/json默认忽略未知字段，但若结构体定义不匹配则报错。

## 版本兼容性

| 版本 | 状态 | 引入 | 弃用 |
|------|------|------|------|
| 1.20 | active | — | — |
| 1.21 | active | — | — |

## 解决方案

1. **** (90% 成功率)
   ```
   type MyStruct struct {
    Name string `json:"name"`
    Extra json.RawMessage `json:"-"`
}
   ```
2. **** (85% 成功率)
   ```
   使用json.Decoder.DisallowUnknownFields()来捕获未知字段错误。
   ```

## 无效尝试

- **** — 不灵活，且当API变化时维护困难。 (50% 失败率)
- **** — 失去类型安全，需要手动类型断言，容易出错。 (70% 失败率)
