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