تبدیل JSON String به شی در سی شارپ
در این بخش شما یاد می گیرید که چگونه json string را در #c به class object تجزیه کنید.
JSON به عنوان نماد شی JavaScript شناخته شده است که برای ذخیره و انتقال داده ها استفاده می شود. در اپلیکیشن های #C ، شما اغلب باید داده های رشته JSON را به اشیاء کلاس تبدیل کنید.
به عنوان مثال ، فرض کنید که رشته JSON زیر را دارید:
اکنون ، برای تبدیل رشته بالا به یک شیء کلاس ، نام property های داده در رشته باید با نام property های کلاس مطابقت داشته باشد. برای تبدیل رشته JSON فوق ، کلاس باید به صورت زیر باشد:
توجه کنید که property های بالا از کلاس بالا با property های یک رشته JSON مطابقت دارد. بنابراین ، هرگونه تغییر در نام منجر به یک استثنا می شود.
نسخه های NET Core 3.0. و بعد از آن شامل کلاس داخلی Jsonserializer در فضای نام System.Text.Json است که عملکردی برای serializing و deserializing از JSON فراهم می کند.
فریمورک NET 4.X. هیچ کلاس داخلی Jsonserializer را ارائه نمی دهد که اشیاء را به JSON تبدیل می کند. شما باید پکیج NUGET به نام Microsoft.Extensions.Configuration.json را در پروژه خود نصب کنید تا System.Text.Json.Jsonserializer را به پروژه خود وارد کنید که می تواند برای تبدیل اشیاء به JSON و برعکس استفاده شود.
deserialization فرآیند تجزیه یک رشته به یک شیء از یک نوع خاص است. متد ()jsonserializer.deserialize یک رشته JSON را به یک شی از نوع مشخص شده با یک پارامتر نوع generic تبدیل می کند.
سینتکس:
;public static TValue? Deserialize<TValue> (string json, JsonSerializerOptions? options = default)
مثال زیر نحوه تجزیه یک رشته JSON را با استفاده از متد ()jsonserializer.deserialize نشان می دهد:
خروجی قطعه کد بالا عبارت است از:
تبدیل JSON Array String به List
بسیاری اوقات رشته JSON شامل آرایه ای برای ذخیره چندین داده است. این می تواند به آرایه یا لیستی از اشیاء در #C تبدیل شود. مثال زیر نحوه تجزیه آرایه Json را به مجموعه لیست (list collection) در #C نشان می دهد.
خروجی قطعه کد بالا عبارت است از:
تبدیل JSON String به شی در اپلیکیشن AJAX
از کلاس JavaScripttserializer استفاده کنید تا عملکرد serialization و deserialization را برای برنامه های وب ASP.NET با AJAX فراهم کنید. متد ()javaScripttserializer.deserialize رشته JSON مشخص شده را به نوع شیء پارامتر عمومی تعیین شده تبدیل می کند.
مثال زیر نحوه تجزیه رشته JSON را با استفاده از متد ()JavasCriptSerializer.Deserialize نشان می دهد.
بنابراین ، رشته JSON را با استفاده از متد ()jsonserializer.deserialize به Class Object در زبان برنامه نویسی سی شارپ تبدیل کنید.