Rumah > pembangunan bahagian belakang > C++ > Bagaimana untuk Menulis Data JSON dengan Cekap ke Fail dalam C#?

Bagaimana untuk Menulis Data JSON dengan Cekap ke Fail dalam C#?

Barbara Streisand
Lepaskan: 2025-01-18 01:27:08
asal
686 orang telah melayarinya

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

Penulisan Fail C# JSON: Panduan Komprehensif

Panduan ini memperincikan kaedah yang cekap untuk menulis data JSON ke fail dalam C#. Cabarannya terletak pada memformat data dengan betul dalam sintaks JSON yang sah, termasuk kurungan yang diperlukan.

Model Data:

<code class="language-csharp">public class DataItem
{
    public int Id { get; set; }
    public int SSN { get; set; }
    public string Message { get; set; }
}</code>
Salin selepas log masuk

Data Contoh:

<code class="language-json">[
  {
    "Id": 1,
    "SSN": 123,
    "Message": "whatever"
  },
  {
    "Id": 2,
    "SSN": 125,
    "Message": "whatever"
  }
]</code>
Salin selepas log masuk

Penyelesaian menggunakan Newtonsoft.Json (Disyorkan):

Newtonsoft.Json menawarkan pendekatan yang sangat cekap, mengelakkan penimbalan rentetan.

<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>
Salin selepas log masuk

Penyelesaian menggunakan System.Text.Json (.NET Core 3.0 dan lebih baru):

System.Text.Json ialah perpustakaan terbina dalam yang menyediakan kefungsian serupa dengan keupayaan tak segerak.

<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>
Salin selepas log masuk

Pilih kaedah yang paling sesuai dengan keperluan projek anda dan versi .NET. Untuk prestasi optimum, terutamanya dengan set data yang besar, siri aliran fail langsung (Kaedah 2 menggunakan Newtonsoft.Json atau kaedah tak segerak menggunakan System.Text.Json) disyorkan.

Atas ialah kandungan terperinci Bagaimana untuk Menulis Data JSON dengan Cekap ke Fail dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan