Tôi có một hành động trả về một JsonResult cho một đối tượng của một lớp cụ thể. Tôi đã trang trí các thuộc tính của lớp này với một số attrib để tránh các lĩnh vực null. định nghĩa lớp là:MVC4 Hành động trả về JsonResult mà không có null
private class GanttEvent
{
public String name { get; set; }
[JsonProperty(NullValueHandling = NullValueHandling.Ignore)]
public String desc { get; set; }
[JsonProperty(NullValueHandling = NullValueHandling.Ignore)]
public List<GanttValue> values { get; set; }
}
Và trong hành động của tôi sử dụng một đối tượng
var res = new List<GanttEvent>();
mà tôi trả lại sử dụng:
return Json(res, JsonRequestBehavior.AllowGet);
Unfortunatelly, tôi vẫn nhận được các giá trị null ở đầu ra:
[{"name":"1.1 PREVIOS AL INICIO ","desc":null,"values":null},{"name":"F04-PGA-S10","desc":"Acta preconstrucción","values":null},{"name":"F37-PGA-S10","desc":"Plan de inversión del anticipo","values":null},{"name":"F09-PGA-S10","desc":"Acta de vecindad","values":null},{"name":"F05-PGA-S10","desc":"Acta de inicio","values":null},{"name":"F01-PGA-S10","desc":"Desembolso de anticipo","values":null}]
Tôi có thiếu một cái gì đó hoặc làm điều gì đó sai?
Không biết câu trả lời này vẫn có liên quan, nhưng tôi cần một cái gì đó như thế này, và đã làm một c/p mã của bạn. Thật không may, nó không hoạt động như mong đợi, nhưng tôi đã chỉnh sửa lớp JsonNetResult của bạn một chút: var serializedObject = JsonConvert.SerializeObject (Data, Formatting.None, new JsonSerializerSettings {NullValueHandling = NullValueHandling.Ignore}); ... và giờ nó hoạt động hoàn hảo. cảm ơn! – robertpaulsen