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
755 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:

public class DataItem
{
    public int Id { get; set; }
    public int SSN { get; set; }
    public string Message { get; set; }
}
Salin selepas log masuk

Data Contoh:

[
  {
    "Id": 1,
    "SSN": 123,
    "Message": "whatever"
  },
  {
    "Id": 2,
    "SSN": 125,
    "Message": "whatever"
  }
]
Salin selepas log masuk

Penyelesaian menggunakan Newtonsoft.Json (Disyorkan):

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

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);
}
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.

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);
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!

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