# 错误：意外的JSON输入结束

- **ID:** `go/encoding-json-unexpected-end-of-json-input`
- **领域:** go
- **类别:** data_error
- **验证级别:** ai_generated
- **修复率:** 80%

## 根因

JSON解码器在完成有效JSON结构之前到达输入末尾，通常由于数据截断或空输入。

## 版本兼容性

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

## 解决方案

1. **Use io.ReadAll to read full body before decoding** (90% 成功率)
   ```
   body, err := io.ReadAll(resp.Body)
if err != nil { return err }
if len(body) == 0 { return errors.New("empty response") }
json.Unmarshal(body, &target)
   ```

## 无效尝试

- **Assuming the error is always a server bug** — Often caused by network issues or partial reads; retrying may help but not always. (50% 失败率)
