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

Json.NET は C# で大きな JSON ファイルを効率的に解析するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2025-01-11 06:25:43881ブラウズ

C# で中型および大規模な JSON ファイルを効率的に解析する: Json.NET メソッドの詳細な説明

How Can Json.NET Efficiently Parse Large JSON Files in C#?

C# で大きな JSON ファイルを処理する場合、ファイルを配列に直接読み込むとパフォーマンスのボトルネックが発生する可能性があります。この記事では、Json.NET ライブラリを使用した効率的なソリューションを紹介します。

Json.NET ソリューション

Json.NET は、C# の人気のある JSON 解析ライブラリであり、JSON データを読み取って解析するための便利で効率的な方法を提供します。

次の例は、Json.NET を使用して大きな JSON ファイルを List<Item> にロードする方法を示しています。

<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 を使用して JsonConvert.DeserializeObject に逆シリアル化します。リスト内の各要素は、プロパティが JSON ノードに対応するオブジェクトを表します。 List<Item>

動的データ処理

カスタム クラスを作成する必要がなく、Json.NET は JSON データ値を動的に取得することもできます。例は次のとおりです:

<code class="language-csharp">dynamic array = JsonConvert.DeserializeObject(json);
foreach (var item in array)
{
    Console.WriteLine("{0} {1}", item.temp, item.vcc);
}</code>
ここで、

変数は、型チェックなしでそのプロパティにアクセスできる動的オブジェクトです。特定のオブジェクトにデータを保存する必要がない場合は、このアプローチがより便利です。 array

以上がJson.NET は C# で大きな JSON ファイルを効率的に解析するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。