Rumah >pembangunan bahagian belakang >C++ >Bolehkah JavascriptSerializer Mensiri Senarai kepada JSON dalam .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>
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>
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>
Pertimbangkan untuk memasang pakej ini jika perlu:
<code>PM> Install-Package Newtonsoft.Json</code>
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>
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!