我有以下方法:避免返回空值在JSON用於AJAX調用
[HttpPost]
[AjaxOnly]
public JsonResult ValidateInput(string text)
{
return new EmptyJsonResult();
}
/// <summary>
/// returns a JSON result that is marked as being empty.
/// </summary>
public sealed class EmptyJsonResult : JsonResult
{
public EmptyJsonResult()
{
Data = new JsonResultData
{
Empty = true
};
}
}
public class JsonResultData
{
public bool Empty { get; set; }
public string[] Errors { get; set; }
}
我想到這回{"Empty":true}
到瀏覽器,但它返回{"Empty":true,"Errors":null}
代替。
是否有任何屬性或我可以設置的東西,以避免在我沒有填充的對象上返回空值?
你想填充什麼值?你總是可以爲每個對象編寫自己的getter,但是null是可以的 – alexsuslin 2012-02-20 16:07:10
也許你應該看看源代碼,看看你是否可以改變一些東西..這是一個SO問題,圍繞該領域進行了探討:http:// stackoverflow .com/questions/8833961/serializing-null-in-json-net – Baz1nga 2012-02-20 16:18:32
如何在這裏實現'NullValueHandling.Ignore'? – bevacqua 2012-02-20 16:21:33