Heim > Backend-Entwicklung > C++ > Wie schreibe ich JSON-Daten effizient in eine Datei in C#?

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

Barbara Streisand
Freigeben: 2025-01-18 01:27:08
Original
686 Leute haben es durchsucht

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

Schreiben von C#-JSON-Dateien: Ein umfassender Leitfaden

Diese Anleitung beschreibt effiziente Methoden zum Schreiben von JSON-Daten in Dateien in C#. Die Herausforderung besteht darin, die Daten in gültiger JSON-Syntax korrekt zu formatieren, einschließlich der erforderlichen Klammern.

Datenmodell:

<code class="language-csharp">public class DataItem
{
    public int Id { get; set; }
    public int SSN { get; set; }
    public string Message { get; set; }
}</code>
Nach dem Login kopieren

Beispieldaten:

<code class="language-json">[
  {
    "Id": 1,
    "SSN": 123,
    "Message": "whatever"
  },
  {
    "Id": 2,
    "SSN": 125,
    "Message": "whatever"
  }
]</code>
Nach dem Login kopieren

Lösung mit Newtonsoft.Json (empfohlen):

Newtonsoft.Json bietet einen hocheffizienten Ansatz, der die Pufferung von Zeichenfolgen vermeidet.

<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>
Nach dem Login kopieren

Lösung mit System.Text.Json (.NET Core 3.0 und höher):

System.Text.Json ist eine integrierte Bibliothek, die ähnliche Funktionen mit asynchronen Funktionen bietet.

<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>
Nach dem Login kopieren

Wählen Sie die Methode, die den Anforderungen Ihres Projekts und der .NET-Version am besten entspricht. Für eine optimale Leistung, insbesondere bei großen Datenmengen, wird die direkte Dateistream-Serialisierung (Methode 2 mit Newtonsoft.Json oder die asynchrone Methode mit System.Text.Json) empfohlen.

Das obige ist der detaillierte Inhalt vonWie schreibe ich JSON-Daten effizient in eine Datei in C#?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage