重複の可能性:
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;