Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Menukar JsonElement kepada Objek Ditaip Kuat dalam System.Text.Json?
Dalam .NET Core 3, perpustakaan Json.NET menyediakan kaedah ToObject, membenarkan objek JToken ditukar kepada kelas yang ditaip kuat. Artikel ini meneroka kaedah yang setara untuk menyahsiri objek JsonElement dalam System.Text.Json.
Dalam .NET 6 dan ke atas:
JsonSerializer telah menambah kaedah sambungan untuk menyahsiri terus daripada objek JsonElement dan JsonDocument:
<code class="language-csharp">public static TValue? Deserialize<TValue>(this JsonDocument document, JsonSerializerOptions? options = null); public static TValue? Deserialize<TValue>(this JsonElement element, JsonSerializerOptions? options = null);</code>
Dalam .NET 5 dan lebih awal:
Terdapat penyelesaian yang boleh digunakan untuk meningkatkan prestasi:
<code class="language-csharp">public static T ToObject<T>(this JsonElement element, JsonSerializerOptions options = null) { var bufferWriter = new ArrayBufferWriter<byte>(); using (var writer = new Utf8JsonWriter(bufferWriter)) element.WriteTo(writer); return JsonSerializer.Deserialize<T>(bufferWriter.WrittenSpan, options); }</code>
<code class="language-csharp">var str = ""; // 一些 JSON 字符串 var jDoc = JsonDocument.Parse(str); var myClass = jDoc.RootElement.GetProperty("SomeProperty").Deserialize<SomeClass>();</code>
Atas ialah kandungan terperinci Bagaimana untuk Menukar JsonElement kepada Objek Ditaip Kuat dalam System.Text.Json?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!