動くコード図鑑技術記事現場の渡り方キャリア論すべての記事About
C#

定石5: JsonTextReaderでストリーミング読み込み

出典: C# Newtonsoft.Json で業務系JSON処理を実戦投入する完全ガイド(.NET Framework 4.7.2 編)定石5: JsonTextReaderでストリーミング読み込み

定石5: JsonTextReaderでストリーミング読み込み (csharp)#15abeba39934
// ✅定石5: JsonTextReaderで巨大JSONをストリーミング読み込み
using (var fs = new FileStream(jsonFilePath, FileMode.Open, FileAccess.Read))
using (var sr = new StreamReader(fs))
using (var reader = new JsonTextReader(sr))
{
    var serializer = new JsonSerializer
    {
        DateTimeZoneHandling = DateTimeZoneHandling.Utc,
    };
 
    //配列の開始 [ までスキップ
    while (reader.Read()&& reader.TokenType != JsonToken.StartArray){ }
 
    //配列内の各要素を1件ずつデシリアライズ
    while (reader.Read())
    {
        if (reader.TokenType == JsonToken.StartObject)
        {
            var item = serializer.Deserialize<OrderDto>(reader);
 
            // 1件ずつ処理(CSV書き出し・DB INSERT・別API転送など)
            ProcessOneOrder(item);
        }
        else if (reader.TokenType == JsonToken.EndArray)
        {
            break;
        }
    }
}
▸ この snippet は実行結果未収録
▸ 実行結果は未収録です
  • id: #15abeba39934
  • lines: 29
  • extracted: 2026-06-10

Source収録記事

この snippet は記事の「定石5: JsonTextReaderでストリーミング読み込み」セクションに登場する。コードの前後の文脈・ハマりどころの解説は記事本文で。

同じ記事から

5
図鑑トップ