Json设置错误必须是Newtonsoft.Json.JsonSerializerSettings类型的示例

blpfk2vs  于 2023-04-22  发布在  其他
关注(0)|答案(1)|浏览(120)

有人知道这个错误是什么吗?它意味着什么?
属性“JsonResult.SerializerSettings”必须是类型“Newtonsoft.Json.JsonSerializerSettings”的示例
我正在开发一个.NET 6应用程序,我有一个返回JSON的方法,看起来像这样:

public IActionResult GetItems()
    {
        try
        {
            List<Item> Items= new List<Item> { };
            foreach (var item in GetItems())
            {
                Items.Add(new Item(
                    item.Id,
                    item.Name,
                    ));
            }

          

            return Json( Items, JsonRequestBehavior.AllowGet );
        }
        catch (Exception e)
        {
            throw new Exception(e.ToString());
        }
    }

我尝试了以下方法:

var jsonSettings = new JsonSerializerSettings
            {
                ReferenceLoopHandling = ReferenceLoopHandling.Ignore,
            };

 var jsonData = JsonConvert.SerializeObject(Items);

我会回来:

return Json(jsonData,JsonRequestBehavior.AllowGet);

一些注意事项-我在我的项目中安装了Newtonsoft.json包。
但不知为什么我一直得到同样的错误。有什么想法吗?

eh57zj3b

eh57zj3b1#

你不应该在使用return Json之前序列化数据,它会序列化你的数据两次,你将有一个问题来反序列化它。

return Ok( Items);

相关问题