ホームページ > バックエンド開発 > C++ > C# で JSON データをファイルに効率的に書き込む方法

C# で JSON データをファイルに効率的に書き込む方法

Barbara Streisand
リリース: 2025-01-18 01:27:08
オリジナル
686 人が閲覧しました

How to Efficiently Write JSON Data to a File in C#?

C# JSON ファイルの作成: 包括的なガイド

このガイドでは、C# で JSON データをファイルに書き込む効率的な方法について詳しく説明します。 課題は、必要な括弧を含め、有効な JSON 構文でデータを正しくフォーマットすることにあります。

データ モデル:

<code class="language-csharp">public class DataItem
{
    public int Id { get; set; }
    public int SSN { get; set; }
    public string Message { get; set; }
}</code>
ログイン後にコピー

サンプルデータ:

<code class="language-json">[
  {
    "Id": 1,
    "SSN": 123,
    "Message": "whatever"
  },
  {
    "Id": 2,
    "SSN": 125,
    "Message": "whatever"
  }
]</code>
ログイン後にコピー

Newtonsoft.Json を使用したソリューション (推奨):

Newtonsoft.Json は、文字列バッファリングを回避する非常に効率的なアプローチを提供します。

<code class="language-csharp">List<DataItem> dataItems = new List<DataItem>();
dataItems.Add(new DataItem { Id = 1, SSN = 2, Message = "A Message" });

// Method 1: Serialize to string, then write to file
string jsonString = Newtonsoft.Json.JsonConvert.SerializeObject(dataItems.ToArray());
System.IO.File.WriteAllText(@"D:\path.txt", jsonString);


// Method 2: Direct serialization to file stream (more efficient)
using (StreamWriter file = File.CreateText(@"D:\path2.txt"))
{
    Newtonsoft.Json.JsonSerializer serializer = new Newtonsoft.Json.JsonSerializer();
    serializer.Serialize(file, dataItems);
}</code>
ログイン後にコピー

System.Text.Json を使用したソリューション (.NET Core 3.0 以降):

System.Text.Json は、非同期機能を備えた同様の機能を提供する組み込みライブラリです。

<code class="language-csharp">using System.Text.Json;

List<DataItem> dataItems = new List<DataItem>();
dataItems.Add(new DataItem { Id = 1, SSN = 2, Message = "A Message" });

// Synchronous method
string jsonString = JsonSerializer.Serialize(dataItems);
File.WriteAllText(@"D:\path.json", jsonString);

// Asynchronous method
await using FileStream createStream = File.Create(@"D:\pathAsync.json");
await JsonSerializer.SerializeAsync(createStream, dataItems);</code>
ログイン後にコピー

プロジェクトのニーズと .NET バージョンに最も適した方法を選択してください。 特に大規模なデータセットで最適なパフォーマンスを得るには、ファイル ストリームの直接シリアル化 (Newtonsoft.Json を使用する方法 2、または System.Text.Json を使用する非同期方法) をお勧めします。

以上がC# で JSON データをファイルに効率的に書き込む方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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