c# – 返回json结果并将null转换为空字符串
发布时间:2020-12-16 01:53:33 所属栏目:百科 来源:网络整理
导读:我有一个返回json结果的动作,但有些属性为null,我想将它们转换为空字符串.我听说我可以使用DefaultValue(“”),但它仍然返回null而不是空字符串. 行动是: [HttpGet]public ActionResult GetResults(string date){ var data= GetData(); // returns ListFoo
我有一个返回json结果的动作,但有些属性为null,我想将它们转换为空字符串.我听说我可以使用DefaultValue(“”),但它仍然返回null而不是空字符串.
行动是: [HttpGet] public ActionResult GetResults(string date) { var data= GetData(); // returns List<Foo> var json = Json(data,JsonRequestBehavior.AllowGet); return json; } Foo类是: public class Foo { public string Bar1; [DefaultValue("")] public int? Bar2; } 解决方法
像@Dave A注意到你不能将字符串值赋给int值.
但是有一件事我想警告它,你有没有正确设置DefaultValueHandling属性?在这里查看:Removing Default Values in JSON with the MVC4 Web API 除此之外,我建议您使用表示此Bar2 int属性的字符串属性,并“忽略”它以进行序列化,例如: [JsonIgnore] [DefaultValue(0)] public int? Bar2Int; public string Bar2 { return { Bar2Int.HasValue ? this.Bar2Int.Value.ToString() : String.Empty; } } 使用此方法更好,您不需要任何默认值属性. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |