将数组添加到对象列表中

时间:2013-08-30 13:56:54

标签: c# arrays json object serialization

这是创建我的json对象的类

    public class RootObject
    {
        public string name { get; set; }
        public string id { get; set; }
        public string school { get; set; }
        public List<object> details{ get; set; }
    }

这是我创建新对象的方式

        var obj = new RootObject();
        obj.name= "test";
        obj.id = "null";
        obj.school = "something else";

然后我使用JavaScriptSerializer序列化对象(这很好) 我需要在这个对象“详细信息”列表中添加一个数组来得到这样的结果:

{
  "name ":"test",
  "id":null,
  "school ":"something else",
  "details":["details1","detail2"]
}

我尝试按元素添加字符串或元素,但没有成功。我该如何解决这个问题?

2 个答案:

答案 0 :(得分:4)

我强烈建议您使用Json.NET:

obj.details = new List<object>
{
    "details1", "details2"
};

然后,JsonConvert.SerializeObject(obj, Formatting.Indented)给出:

{
  "name": "test",
  "id": "null",
  "school": "something else",
  "details": [
    "details1",
    "details2"
  ]
}

答案 1 :(得分:1)

您需要初始化List:

obj.details = new List<object>();

然后添加数据:

obj.details.Add("Details1");
obj.details.Add("Details2");
相关问题