معروفترین کتابخانهی کار با JSON در دات نت، Json.NET است که این روزها، جزء جدایی ناپذیر حداقل، تمام برنامههای وب مبتنی بر دات نت میباشد. برای مثال ASP.NET Core 2x/1x و همچنین ASP.NET Web API پیش از NET Core.، به صورت پیشفرض از این کتابخانه برای کار با JSON استفاده میکنند. این کتابخانه 10 سال پیش ایجاد شد و در طول زمان، قابلیتهای زیادی به آن اضافه شدهاست. همین حجم بالای کار صورت گرفته سبب شدهاست که برای مثال شروع به استفادهی از & ...
پیشتر مطلب « روش استفادهی صحیح از HttpClient در برنامههای دات نت » را مطالعه کرده بودید. پس از ارائهی NET Core 2.1.، این مجموعه به همراه یک IHttpClientFactory نیز ارائه میشود که در اینجا قصد داریم این مورد و همچنین سایر موارد مشابه را بررسی کنیم.
صورت مساله
قصد داریم اطلاعاتی را با فرمت JSON، از یک API خارجی، توسط HttpClient دریافت و سپس آنرا به یک DTO فرضی، به نام GitHubRepositor ...
قسمت اول این مطلب را در اینجا میتوانید مطالعه کنید. از سه سال قبل تا به این تاریخ، فرمت زیرنویسهای این سایت به صورت JSON تغییر پیدا کردهاست و یک چنین ساختار جدیدی را دارد: {
"userIsAuthorizedForCourseTranscripts": false,
"modules": [
{
"title": "Course Overview",
"clips": [
{
"title": "Course Overview",
"playerParameter ...
در بخش پیشین کلیات کتابخانهی Restangular را بررسی کردیم. در این بخش قصد داریم تا در طی یک پروژه، امکانات و قابلیتهای بینظیر این سرویس را در یک پروژهی واقعی مشاهده کنیم. کلیات پروژه در این پروژه قصد داریم تا لیست کتابهای یک کتابخانه را نمایش دهیم. این کتابها قابلیت ویرایش نام دارند و همچنین شما میتوانید کتابهای جدیدی را به لیست کتابها اضافه نمایید. تصویر زیر خروجی این پروژه است: پایگاه دادهی برنامه با نام Li ...
چندی قبل مطلب « اطلاع از بروز رسانی نرم افزار ساخته شده » را در سایت جاری مطالعه کردید. در این روش بسیار متداول، شماره نگارشهای جدید برنامه در یک فایل XML و مانند آن قرار میگیرند و برنامه هربار این فایل را جهت یافتن شمارههای مندرج در آن اسکن میکند. اگر پروژهی شما سورس باز است و در GitHub هاست شده، روش دیگری نیز برای یافتن این اطلاعات وجود دارد. در GitHub میتوان از طریق آدرسی به شکل https://api.github.com/repos/user_name/project_name/ ...
پس از آشنایی مقدماتی با Kendo UI DataSource ، اکنون میخواهیم از آن جهت صفحه بندی، مرتب سازی و جستجوی پویای سمت سرور استفاده کنیم. در مثال قبلی، هر چند صفحه بندی فعال بود، اما پس از دریافت تمام اطلاعات، این اعمال در سمت کاربر انجام و مدیریت میشد.
مدل برنامه
در اینجا قصد داریم لیستی را با ساختار کلاس Product در اختیار Kendo UI گرید قرار دهیم: namespace KendoUI03.Models
{
public class Product
...
Kendo UI DataSource جهت تامین دادههای سمت کلاینت ویجتهای مختلف KendoUI طراحی شدهاست و به عنوان یک اینترفیس استاندارد قابل استفاده توسط تمام کنترلهای دادهای Kendo UI کاربرد دارد. Kendo UI DataSource امکان کار با منابع داده محلی، مانند اشیاء و آرایههای جاوا اسکریپتی و همچنین منابع تامین شده از راه دور، مانند JSON، JSONP و XML را دارد. به علاوه توسط آن میتوان اعمال ثبت، ویرایش و حذف اطلاعات، به همراه صفحه بندی، گروه بندی و مرتب سازی ...
ASP.NET Web API در سمت سرور، برای مدیریت ApiControllerها و در سمت کلاینتهای دات نتی آن، برای مدیریت HttpClient، به صورت پیش فرض از JSON.NET استفاده میکند. در ادامه نگاهی خواهیم داشت به تنظیمات JSON در سرور و کلاینتهای ASP.NET Web API.
آماده سازی یک مثال Self host
برای اینکه خروجیهای JSON را بهتر و بدون نیاز به ابزار خاصی مشاهده کنیم، میتوان یک پروژهی کنسول جدید را آغاز کرده و سپس آنرا تبدیل به Host مخصوص We ...
عموما از امکانات LINQ to JSON کتابخانهی JSON.NET زمانی استفاده میشود که ورودی JSON تو در توی حجیمی را دریافت کردهاید اما قصد ندارید به ازای تمام موجودیتهای آن یک کلاس معادل را جهت نگاشت به آنها تهیه کنید و صرفا یک یا چند مقدار تو در توی آن جهت عملیات استخراج نهایی مدنظر است. به علاوه در اینجا LINQ to JSON واژهی کلیدی dynamic را نیز پشتیبانی میکند.
همانطور که در تصویر مشخص است، خروجیهای JSON عموما ترکیبی هستند از ...
تا نگارش فعلی ASP.NET MVC، یعنی نگارش 5 آن، به صورت توکار از JavaScriptSerializer برای پردازش JSON کمک گرفته میشود. این کلاس نسبت به JSON.NET هم کندتر است و هم قابلیت سفارشی سازی آنچنانی ندارد. برای مثال مشکل Self referencing loop را نمیتواند مدیریت کند.
برای استفاده از JSON.NET در یک اکشن متد، به صورت معمولی میتوان به نحو ذیل عمل کرد: [HttpGet]
public ActionResult GetSimpleJsonData()
{
...