可能重复:
C# 中的增量 JSON 解析
以下问题是相关的,但不解决(至少直接)我要解决的问题:
我正在尝试使用Json.NET反序列化可能非常大的 JSON 数据。我不想将整个文件加载到内存中并使用 解析 JSON JObject.Parse(JsonFullString)
,而是希望逐个令牌从流令牌中读取并构造对象图。我将不胜感激有关如何从流中实现反序列化的任何建议。
注意:我的意图是用更好的实现替换以下代码
string jsonData = string.Empty;
byte[] buffer = new byte[16 * 1024];
using (MemoryStream ms = new MemoryStream())
{
int read;
while ((read = stream.Read(buffer, 0, buffer.Length)) > 0)
{
ms.Write(buffer, 0, read);
}
jsonData = ASCIIEncoding.ASCII.GetString(ms.ToArray());
}
JObject jObject = JObject.Parse(jsonData);
var entities = from e in jObject.Root
select e;