Rumah > pembangunan bahagian belakang > C++ > Bolehkah JavascriptSerializer Mensiri Senarai kepada JSON dalam .NET?

Bolehkah JavascriptSerializer Mensiri Senarai kepada JSON dalam .NET?

Mary-Kate Olsen
Lepaskan: 2025-01-11 06:53:42
asal
302 orang telah melayarinya

Can JavascriptSerializer Serialize Lists to JSON in .NET?

Bolehkah JavascriptSerializer dalam .NET menyusun senarai ke JSON?

Andaikan model objek anda mengandungi MyObjectInJson, yang sifatnya ObjectInJson menyimpan versi bersiri senarai bersarang. Pada masa ini, anda sedang menyusun senarai secara manual seperti ini:

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

JavascriptSerializer Adakah mungkin untuk mencapai hasil yang sama?

Alternatif kepada JavascriptSerializer

Untuk .NET 6.0 dan ke atas, disyorkan untuk menggunakan penghurai System.Text.Json terbina dalam. Ia menyerikan senarai dengan cekap tanpa refleksi, seperti ini:

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

Untuk versi .NET sebelumnya (cth., Teras 2.2 dan lebih awal), Newtonsoft JSON.Net ialah alternatif yang berdaya maju:

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

var json = JsonConvert.SerializeObject(aList);</code>
Salin selepas log masuk

Pertimbangkan untuk memasang pakej ini jika perlu: ​​

<code>PM> Install-Package Newtonsoft.Json</code>
Salin selepas log masuk

Untuk memudahkan rujukan, kaedah asal menggunakan JavaScriptSerializer disediakan:

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

using System.Web.Script.Serialization;

var jsonSerialiser = new JavaScriptSerializer();
var json = jsonSerialiser.Serialize(aList);</code>
Salin selepas log masuk

Atas ialah kandungan terperinci Bolehkah JavascriptSerializer Mensiri Senarai kepada JSON dalam .NET?. 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