2016-08-05 15 views
13

arasındaki fark Microsoft.AspNetCore.Mvc ad iki sınıf vardır nedir.ObjectResult ve JsonResult

Her ikisi de döndürülen nesneyi JSON biçimine dönüştürür.

Aralarındaki fark nedir ve bunları kullanma amacı nedir?

+0

Hızlı arama vermiştir [ObjectResult Sınıfı] (https://docs.asp.net/ projeler/aPI/tr/son/autoapi/M icrosoft/AspNetCore/Mvc/ObjectResult/index.html # objectresult sınıfı), [JsonResult Sınıfı] (https://docs.asp.net/projects/api/en/latest/autoapi/Microsoft/AspNetCore/Mvc/JsonResult/ index.html # jsonresult-class) – Nkosi

+0

@Nkosi ve herhangi bir açıklama yoksa sorunu nasıl anladım? – hcp

+0

Oraya başladım ve aramaya gittim. interweb'ler etrafında bit ve parçalar bulmak zor değildi. Bazen ne sorulacağını bilmek ve daha sonra arama sonuçlarının kalitesine göre incelemek ile ilgilidir. – Nkosi

cevap

20

JsonResult, yanıt akışı yazma sorumlu.

ObjectResult inşa içerik müzakere sahip bir IActionResult olan JSON olarak verilen nesneyi biçimlendirir bir IActionResult olduğunu onun ExecuteResultAsync İçinde

, çerçeve yürüyecek mevcut biçimlendiriciler aracılığıyla ve uygun bir tane seçin.

birformatlayıcı seçtiğiniz için mantık ASP.NET Web API benzerdir ve aşağıdaki öncelik sırasına göre

: merkezli

  • Kabul başlık
  • Content-Type başlığı
  • seçimi tipi maçın

OkObjectResult Sınıf

üzerinde

gerçekleştiren içerik müzakere çalıştırıldığında, varlık gövdesi biçimlendirir ve müzakere ve biçimlendirme başarılı olursa bir Microsoft.AspNetCore.Http.StatusCodes.Status200OK yanıtını üreteceği bir Microsoft.AspNetCore.Mvc.ObjectResult.

Referanslar:

+0

Cevabınız için teşekkür ederiz. Yani ObjectResult daha evrensel bir sınıf ve JsonResult'u kullanmak için herhangi bir sebep yok mu? – hcp

+0

Sadece json verilerini döndürmek istiyorsanız, 'JsonResult' kullanın. Api'nin daha esnek olmasını ve farklı biçimlerin dönmesine izin vermesini istiyorsanız, 'ObjectResult' içerik müzakerelerine izin verir. – Nkosi

+0

Neden jsonu döndürmek için ObjectResult kullanmıyorsunuz (bu durumda aynı stilde olacak)?Bu durumda JsonResult'un avantajları nelerdir? – hcp

İlgili konular