Heim > Backend-Entwicklung > C++ > Kann JavascriptSerializer Listen in .NET in JSON serialisieren?

Kann JavascriptSerializer Listen in .NET in JSON serialisieren?

Mary-Kate Olsen
Freigeben: 2025-01-11 06:53:42
Original
303 Leute haben es durchsucht

Can JavascriptSerializer Serialize Lists to JSON in .NET?

Kann JavascriptSerializer in .NET eine Liste in JSON serialisieren?

Angenommen, Ihr Objektmodell enthält MyObjectInJson, dessen Eigenschaft ObjectInJson die serialisierte Version der verschachtelten Liste speichert. Derzeit serialisieren Sie die Liste manuell wie folgt:

<code class="language-csharp">StringBuilder TheListBuilder = new StringBuilder();

TheListBuilder.Append("[");
int TheCounter = 0;

foreach (MyObjectInJson TheObject in TheList)
{
  TheCounter++;
  TheListBuilder.Append(TheObject.ObjectInJson);

  if (TheCounter != TheList.Count())
  {
    TheListBuilder.Append(",");
  }
}
TheListBuilder.Append("]");

return TheListBuilder.ToString();</code>
Nach dem Login kopieren

JavascriptSerializer Ist es möglich, das gleiche Ergebnis zu erzielen?

Alternativen zu JavascriptSerializer

Für .NET 6.0 und höher wird empfohlen, den integrierten System.Text.Json Parser zu verwenden. Es serialisiert Listen effizient und ohne Reflexion, etwa so:

<code class="language-csharp">using System.Text.Json;
using System.Text.Json.Serialization;

var aList = new List<myobjectinjson>
{
    new(1, "1"),
    new(2, "2")
};

var json = JsonSerializer.Serialize(aList, Context.Default.ListMyObjectInJson);
Console.WriteLine(json);

return;

public record MyObjectInJson
(
    long ObjectId,
    string ObjectInJson
);

[JsonSerializable(typeof(List<myobjectinjson>))]
internal partial class Context : JsonSerializerContext
{
}</code>
Nach dem Login kopieren

Für frühere .NET-Versionen (z. B. Core 2.2 und früher) ist Newtonsoft JSON.Net eine praktikable Alternative:

<code class="language-csharp">using Newtonsoft.Json;

var json = JsonConvert.SerializeObject(aList);</code>
Nach dem Login kopieren

Erwägen Sie bei Bedarf die Installation dieses Pakets:

<code>PM> Install-Package Newtonsoft.Json</code>
Nach dem Login kopieren

Zur leichteren Bezugnahme wird die ursprüngliche Methode mit JavaScriptSerializer bereitgestellt:

<code class="language-csharp">// 需要引用 System.Web.Extensions

using System.Web.Script.Serialization;

var jsonSerialiser = new JavaScriptSerializer();
var json = jsonSerialiser.Serialize(aList);</code>
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonKann JavascriptSerializer Listen in .NET in JSON serialisieren?. 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