C# は大きな JSON ファイルを効率的に読み取り、解析します
大きな JSON ファイルを処理する場合、プログラムのクラッシュやメモリ オーバーフローを避けるために、効率的な読み取りと解析が重要です。 このプロセスを最適化するには、JSON.NET ライブラリを使用することをお勧めします。
JSON.NET の使用
JSON.NET は、C# で JSON データを処理するための強力なクラスとメソッドを提供します。これを使用して大きな JSON ファイルを読み取って配列に解析する方法は次のとおりです:
<code class="language-csharp">public void LoadJson() { using (StreamReader r = new StreamReader("file.json")) { string json = r.ReadToEnd(); List<Item> items = JsonConvert.DeserializeObject<List<Item>>(json); } } public class Item { public int millis; public string stamp; public DateTime datetime; public string light; public float temp; public float vcc; }</code>
JSON 構造に対応するクラスを作成すると、JSON 文字列をオブジェクトのリストに簡単に逆シリアル化できます。
特定のデータを抽出する
必要なデータ (例: "vcc" 値) のみを抽出するには、逆シリアル化後にオブジェクトのプロパティにアクセスします。例:
<code class="language-csharp">foreach (var item in items) { Console.WriteLine(item.vcc); }</code>
動的逆シリアル化
クラスを作成しなくても、JSON データに動的にアクセスすることもできます。 dynamic
キーワードを使用すると、JSON 文字列を動的オブジェクトに逆シリアル化できます:
<code class="language-csharp">dynamic array = JsonConvert.DeserializeObject(json); foreach (var item in array) { Console.WriteLine("{0} {1}", item.temp, item.vcc); }</code>
このメソッドを使用すると、プロパティ名 (文字列) を使用して JSON プロパティにアクセスできます。
以上がC# で大きな JSON ファイルを効率的に読み取って解析するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。