Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk menafikan JSON ke dalam objek C# Dinamik?

Bagaimana untuk menafikan JSON ke dalam objek C# Dinamik?

Mary-Kate Olsen
Mary-Kate Olsenasal
2025-02-03 01:56:13263semak imbas

How to Deserialize JSON into C# Dynamic Objects?

Di C#, kembali JSON yang berkhidmat menjadi objek dinamik

Dalam pengaturcaraan .NET,

biasanya digunakan untuk melayani kandungan JSON bersiri. Walau bagaimanapun, mewujudkan kelas tersuai untuk setiap objek JSON mungkin rumit. Untuk memudahkan proses ini, JSON boleh bersiri ke dalam jenis C#dinamik.

DataContractJsonSerializer Gunakan json.net

json.net menyediakan cara yang mudah untuk mengiris derivatif JSON ke objek dinamik:

Kod ini bertukar pesanan JSON kembali ke objek dinamik bernama "Stuff". Anda kemudian boleh menggunakan perwakilan titik untuk mengakses atributnya secara langsung.

<code class="language-csharp">dynamic stuff = JsonConvert.DeserializeObject("{ 'Name': 'Jon Smith', 'Address': { 'City': 'New York', 'State': 'NY' }, 'Age': 42 }");

string name = stuff.Name;
string address = stuff.Address.City;</code>
Gunakan newtonsoft.json.linq

newtonsoft.json.linq juga menyediakan cara untuk menganalisis JSON sebagai objek dinamik:

Kod ini menggunakan untuk membuat

dari JSON, dan kemudian anda boleh mengaksesnya sebagai objek dinamik.

<code class="language-csharp">dynamic stuff = JObject.Parse("{ 'Name': 'Jon Smith', 'Address': { 'City': 'New York', 'State': 'NY' }, 'Age': 42 }");

string name = stuff.Name;
string address = stuff.Address.City;</code>
lebih banyak sumber

JObject.Parse JObject Untuk maklumat lanjut mengenai topik ini, sila rujuk dokumen berikut:

json.net menggunakan objek dinamik untuk pertanyaan json

Atas ialah kandungan terperinci Bagaimana untuk menafikan JSON ke dalam objek C# Dinamik?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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