JsonResult-JSON对象返回空值,而不是C#中的null或未定义

时间:2018-06-26 06:10:38

标签: c# asp.net-mvc json.net

请在下面将其视为发生上述问题的参考代码。将此视为参考代码,并为此提供解决方案。

一旦我将Newtonsoft.Json版本从9更新到10,就开始出现此问题。

int relid = 10;

public JsonResult GetContactInfo()
        {
            List<Contact> _contactLst = new List<Contact>();
            if (relid > 0)
            {
                _contactLst = GetAllContactInfo();
                if (_contactLst != null && _contactLst.Count > 0)
                {
                    return Json(_contactLst, JsonRequestBehavior.AllowGet);
                }
            }
            return Json(_contactLst, JsonRequestBehavior.AllowGet);}

2 个答案:

答案 0 :(得分:0)

除非直到GetAllContactInfo返回“ null”,否则由于通过“ new List”进行初始化,上述代码的输出将为空或已填充列表。

如果希望输出为空,则需要将初始化替换为空,然后根据GetAllContactInfo输出进行设置。

答案 1 :(得分:0)

public JsonResult GetContactInfo()
        {
            List<Contact> _contactLst = new List<Contact>();
            if (relid > 0)
            {
                _contactLst = GetAllContactInfo();
                if (_contactLst.Any())
                {
                    return Json(_contactLst, JsonRequestBehavior.AllowGet);
                }
            }
            return new List<Contact>();
}