„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie schreibe ich JSON -Daten effizient in eine Datei in C#?

Wie schreibe ich JSON -Daten effizient in eine Datei in C#?

Gepostet am 2025-03-23
Durchsuche:333

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

c# json Datei Schreiben: Ein umfassender Handbuch

In diesem Handbuch werden effiziente Methoden zum Schreiben von JSON -Daten in Dateien in C#beschrieben. Die Herausforderung liegt in der korrekten Formatierung von Daten in gültiger JSON -Syntax, einschließlich der erforderlichen Klammern.

Datenmodell:

public class DataItem
{
    public int Id { get; set; }
    public int SSN { get; set; }
    public string Message { get; set; }
}

Beispieldaten:

[
  {
    "Id": 1,
    "SSN": 123,
    "Message": "whatever"
  },
  {
    "Id": 2,
    "SSN": 125,
    "Message": "whatever"
  }
]

Lösung mit Newtonsoft.json (empfohlen):

newtonsoft.json bietet einen hocheffizienten Ansatz, um String -Pufferung zu vermeiden.

List dataItems = new List();
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);
}

Lösung mit System.text.json (.Net Core 3.0 und später):

system.text.json ist eine integrierte Bibliothek, die ähnliche Funktionen mit asynchronen Funktionen bietet.

using System.Text.Json;

List dataItems = new List();
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);

Wählen Sie die Methode aus, die den Anforderungen Ihres Projekts und .NET -Version am besten entspricht. Für eine optimale Leistung, insbesondere bei großen Datensätzen, wird die Direktdatei -Stream -Serialisierung (Methode 2 mit Newtonsoft.json oder die asynchrone Methode mit System.Text.json) empfohlen.

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3