【发布时间】:2014-12-03 20:29:02
【问题描述】:
使用 MVC 模型,我想编写一个 JsonResult,它将 Json 字符串流式传输到客户端,而不是一次将所有数据转换为 Json 字符串,然后将其流式传输回客户端。 我有一些动作需要在 Json 传输时发送非常大(超过 300,000 条记录),我认为基本的 JsonResult 实现是不可扩展的。
我正在使用 Json.net,我想知道是否有一种方法可以在转换 Json 字符串时对其进行流式传输。
//Current implementation:
response.Write(Newtonsoft.Json.JsonConvert.SerializeObject(Data, formatting));
response.End();
//I know I can use the JsonSerializer instead
Newtonsoft.Json.JsonSerializer serializer = new Newtonsoft.Json.JsonSerializer();
serializer.Serialize(textWriter, Data);
但是我不确定如何将块写入 textWriter 并写入响应并调用 reponse.Flush() 直到所有 300,000 条记录都转换为 Json。
这可能吗?
【问题讨论】:
标签: c# json asp.net-mvc json.net