ホームページ > バックエンド開発 > C++ > C# で大きな JSON ファイルを効率的に読み取って解析するにはどうすればよいですか?

C# で大きな JSON ファイルを効率的に読み取って解析するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2025-01-11 10:26:44
オリジナル
889 人が閲覧しました

How Can I Efficiently Read and Parse Large JSON Files in C#?

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート