تبدیل یک شیء به JSON در سی شارپ
در این بخش یاد خواهید گرفت که چگونه شیء #C را با استفاده از Serialization به JSON تبدیل کنید.
JSON یا Javascript Object Notation برای ذخیره و انتقال داده استفاده می شود. همچنین JSON در فراخوانی های API برای تبادل داده ها از API به اپلیکیشن های مختلف وب یا از مرورگر به سرور و بالعکس استفاده می شود.
Serialization فرآیند ذخیره سازی حالت و وضعیت یک شیء و توانایی بازسازی آن در صورت لزوم است. برعکس آن به Deserialization معروف است.
فریمورک NET 5. کلاس JsonSerializer داخلی را در فضای نام System.Text.Json برای تبدیل اشیاء #C به JSON و بالعکس فراهم می کند.
فریمورک NET 4.x. هیچ کلاس JsonSerializer داخلی که اشیا را به JSON تبدیل کند ارائه نمی دهد. شما باید پکیج NuGet به نام Microsoft.Extensions.Configuration.Json را در پروژه خود نصب کنید تا System.Text.Json.JsonSerializer را در پروژه خود وارد کنید که می تواند برای تبدیل اشیا به JSON و بالعکس استفاده شود.
تبدیل شیء به رشته Minified JSON
مثال زیر تبدیل یک شی به یک رشته JSON کوچک شده را با استفاده از متد JsonSerializer class.Serialize نشان می دهد:
خروجی قطعه کد بالا عبارت است از:
همانطور که می بینید، به طور پیش فرض، رشته JSON در خروجی بالا کوچک می شود.
تبدیل شی به رشته Formatted JSON
مثال زیر تبدیل یک شی به رشته JSON فرمت شده را نشان می دهد:
خروجی قطعه کد بالا عبارت است از:
در مثال بالا، یک گزینه با WriteIndented=true به عنوان پارامتر در متد ()Serialize مشخص کردیم. این یک رشته فرمت شده با تورفتگی را برمی گرداند.
تبدیل یک لیست به یک رشته JSON
آنچه که در زیر می بینید یک list collection از اشیاء را به آرایه JSON تبدیل می کند.
خروجی قطعه کد بالا عبارت است از:
تبدیل یک شی به رشته UTF-8
Serialization به یک آرایه utf-8 byte کمی سریعتر از متد رشته است. این به این دلیل است که بایت های utf-8 برای تبدیل به رشته های utf-16 مورد نیاز نیست.
مثال زیر تبدیل یک شی به یک رشته JSON کوچک شده را با استفاده از متد JsonSerializer.SerializeToUtf8Bytes نشان می دهد.
خروجی قطعه کد بالا عبارت است از:
بنابراین، می توانید با استفاده از متد ()JsonConvert.Serialize در NET 4.x. و NET 5.، شیء #C را به روش های مختلف در نسخه های مختلف به JSON تبدیل کنید.