你的 JSON 数组其实一直在流式传输
来源:dev.to — Jul 25-26
📋 概述
作者在一次 Code Review 中发现同事指出 JSON 数组可以流式返回,于是动手验证。通过 .NET 的 IAsyncEnumerable 和 System.Text.Json 的流式序列化,证明了在响应大型数据集时,流式 JSON 数组比一次性序列化快一个数量级。传统认知中“JSON 必须先完整构建”的假设被彻底打破。
🔑 核心要点
- ASP.NET Core 的 IAsyncEnumerable 配合 System.Text.Json 可以逐条序列化并发送 JSON 数组元素,客户端在第一条记录到达时即可开始处理。
- 流式 JSON 数组的关键在于响应头先发送,然后逐个元素写入响应体——不需要等整个数据集在内存中构建完毕。
- 这项技术对大规模 API 响应(数万条记录)的影响最大:内存占用从 O(n) 降到 O(1),首字节时间从秒级降到毫秒级。
💡 金句
Code Review 的那条评论是对的——我只是花了整个下午才说服秒表相信它。
👍 0
👎 0
← 返回 Dev.to 首页