首页 > 解决方案 > C# 中来自 List 的 JSON

问题描述

我在一个包含 141 个条目的 MVC 应用程序中有一个列表。如何从该列表创建 JSON 并向其添加其他属性。我目前正在尝试以下操作,但在第二次迭代中出现错误,指出该属性已存在:

dynamic jsonOb = new JObject();

foreach(var titles in titleList)
{
    jsonOb.Add("TitleNumber", titles.ToString());
    jsonOb.Add("ProjectID", projid.ToString());
    jsonOb.Add("AddedBy", user);
    jsonOb.Add("DateAdded", Convert.ToString(DateTime.Now));
}

标签: c#json

解决方案


你需要一个JArray

var jsonArr = new JArray();

 foreach(var titles in titleList)
 {
     var jsonOb = new JObject();
     jsonOb.Add("TitleNumber", "foo");
     jsonOb.Add("ProjectID", "foo");
     jsonOb.Add("AddedBy", "foo");
     jsonOb.Add("DateAdded", "foo");
     jsonArr.Add(jsonOb);
}

顺便说一句,由于您JSON.NET已经在使用,SerializeObject因此方法比手动创建对象更容易和更直接,所以我建议使用它。


推荐阅读