محل تبلیغات شما

سناریو: ارسال یک درخواست به وب سرور (وب سرویس API) و دریافت پاسخ و نمایش مقادیر در کنترلر ASP .Net Core

سریعترین روش برای تبدیل کردن  آبجکت net. به یک فایل JSON  استفاده از JsonSerializer است. JsonSerializer آبجکت های net. را به معادل آن دریک JSON تبدیل می کند. با نگاشت کردن نام property آبجکت به نام property های JSON و مقادیر آن را برای شما کپی می کند.

JsonConvert
برای سناریوهای ساده ای که می خواهید به یک رشته JSON تبدیل شوید و از آن استفاده کنید ، روش های ()SerializeObject و ()DeserializeObject در JsonConvert یک بسته بندی آسان برای استفاده از JsonSerializer را ارائه می دهد.

1- ساخت یک آبجکت از کلاس Product و مقداری دهی به property های آبجکت

;()Product product = new Product

;product.Name = "Apple
;(product.ExpiryDate = new DateTime(2008, 12, 28
;product.Price = 3.99M
;{"product.Sizes = new string[] { "Small", "Medium", "Large
;(string output = JsonConvert.SerializeObject(product
فایل JSON تولید شده از کد بالا

}
  ,"Name": "Apple"
  ,"ExpiryDate": "2008-12-28T00:00:00"
  ,"Price": 3.99
  [":Sizes"
    ,"Small"
    ,"Medium"
    "Large"
  ]
{

Serializing and Deserializing JSON

 با کمک newtonsoft

Install Nuget Newtonsoft.Json

;using Newtonsoft.Json

در این سناریو یک درخواست به وب سرور ارسال شده است و پاسخ بازگشتی از وب سرور خوانده شده و با کمک متد DeserializeObject تبدیل به یک آبجکت از نوع کلاس Product شده است. و بدین صورت دسترسی به property های object و مقادیر آن امکان پذیر خئاهد شد.  


ساخت یک درخواست و ارسال آن به وب سرور

 ;"string Url = "https://sandbox-api.domain.com/api/orders/price/calc
           ;(var request = (HttpWebRequest)WebRequest.Create(Url

            ;"request.ContentType = "application/json
            ;"request.Method = "POST
            ;("request.Headers.Add("Authorization", "Bearer " + "Token
            ;("request.Headers.Add("X-Requested-With", "XMLHttpRequest

;(var jsonSer = JsonConvert.SerializeObject(param
            using (var streamWriter = new StreamWriter(request.GetRequestStream
           }
                ;(streamWriter.Write(jsonSer
                ;()streamWriter.Flush
               ;()streamWriter.Close
       
 {
دریافت پاسخ از وب سرور و تبدیل آن به آبجکت net.



;()var response = (HttpWebResponse)request.GetResponse
;(()StreamReader reader = new StreamReader(response.GetResponseStream
Read the content//
;()string result = reader.ReadToEnd
;()reader.Close
;(Product product = JsonConvert.DeserializeObject<Product>(result
;long price=product .Object.Price
 Display the status//
;string status = ((HttpWebResponse)response).StatusDescription

پدیدآورنده: محمد رضا اسدی

منابع: Newtonsoft

آمورش پروژه محور DevOPS و اجایل Azure Board

معماری اطلاعات در وب سایت

Serializing and Deserializing JSON

  ,product ,یک ,request ,json ,وب ,    ,وب سرور ,  request ,property های ,به وب ,small medium large

مشخصات

تبلیغات

محل تبلیغات شما

آخرین ارسال ها

برترین جستجو ها

آخرین جستجو ها

خاطرات يك دهه شصتي من شش ساله ام راز نور