Rumah > pembangunan bahagian belakang > C++ > Bagaimana untuk Memetakan Hartanah JSON Bersarang kepada Sifat C# Mudah?

Bagaimana untuk Memetakan Hartanah JSON Bersarang kepada Sifat C# Mudah?

Patricia Arquette
Lepaskan: 2025-01-24 22:57:11
asal
570 orang telah melayarinya

How to Map Nested JSON Properties to Simple C# Properties?

atribut mudah yang memetakan sub -attribute JSON ke objek C#

Pengenalan

Buat tingkah laku yang disesuaikan semula di Newtonsoft.json boleh dicapai dengan atribut dan penukar adat. Ini membolehkan anda memetakan sub -attribut objek JSON ke atribut mudah kelas C#, walaupun mereka tidak mempunyai objek yang sepadan.

Gunakan kaedah tambahan

Jika anda hanya memerlukan atribut tambahan, kaedah mudah adalah untuk menyelesaikan json anda sebagai jobject, isi kelas anda dengan toObject (), dan kemudian gunakan selectToken () untuk mengekstrak atribut tambahan. Contohnya:

Buat JsonConverter Custom

<code class="language-csharp">string json = @"
{
    ""name"" : ""Joe Shmoe"",
    ""age"" : 26,
    ""picture"":
    {
        ""id"": 123456,
        ""data"":
        {
            ""type"": ""jpg"",
            ""url"": ""http://www.someplace.com/mypicture.jpg""
        }
    }
}";

JObject jo = JObject.Parse(json);
Person p = jo.ToObject<Person>();
p.ProfilePicture = (string)jo.SelectToken("picture.data.url");</code>
Salin selepas log masuk
Untuk penyelesaian yang lebih rumit, anda boleh membuat jsonConverter tersuai yang menggunakan teknologi di atas untuk memproses semua atribut yang ditandai dengan atribut JSONProperty. JsonConver boleh menggunakan refleksi untuk mencari atribut, memetakannya ke laluan JSON yang betul, dan mengisi atribut dengan sewajarnya.

penukar adat yang berkaitan

Gunakan harta [jsonconverter] untuk mengaitkan penukar ke kelas sasaran. Anda kemudian boleh memohon harta [JSONProperty] ke atribut yang diperlukan dan tentukan JSON PATH sebagai nama atribut.
<code class="language-csharp">class JsonPathConverter : JsonConverter
{
    // ReadJson 实现在此处...
}</code>
Salin selepas log masuk

Selepas menggunakan atribut ini, anda boleh memperoleh JSON seperti biasa, dan pemetaan akan berlaku secara automatik.

Atas ialah kandungan terperinci Bagaimana untuk Memetakan Hartanah JSON Bersarang kepada Sifat C# Mudah?. 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