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 중국어 웹사이트의 기타 관련 기사를 참조하세요!