سناریو: ارسال یک درخواست به وب سرور (وب سرویس 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
,product ,یک ,request ,json ,وب , ,وب سرور , request ,property های ,به وب ,small medium large
درباره این سایت