使用列表中的json.net返回嵌套的json对象

时间:2015-08-18 16:57:37

标签: c# list datatable json.net datareader

如何使用json.net返回这样的嵌套json对象:

我如何设置我的clases以返回此

        [  {
            "name": "Jasmine Coots",
            "sex": "female",
            "age": 49,
            "Sons": [
                {
                  "name": "Morgan Rhett",
                  "age": 25,
                  "sex": "male"
                },
                {
                  "name": " Jasmine Coots ",
                  "age": 22,
                  "sex": "female"
                },
                {
                  "name": "Joaquin Strother",
                  "age": 17,
                  "sex": "male"
                }
              ]
        },
 {
            "name": "Jasmine Coots",
            "sex": "female",
            "age": 49,
            "Sons": [
                {
                  "name": "Morgan Rhett",
                  "age": 25,
                  "sex": "male"
                },
                {
                  "name": " Jasmine Coots ",
                  "age": 22,
                  "sex": "female"
                },
                {
                  "name": "Joaquin Strother",
                  "age": 17,
                  "sex": "male"
                }
              ]
        }
            ]

我需要使用c#中的列表返回一个对象数组,这是一个数据表或datareader的任何一个例子,说明这将是多么好

1 个答案:

答案 0 :(得分:2)

生活小贴士:Check out this site, it's amazing.我唯一不喜欢的是,它不会自动使用传统的属性名称(PascalCase),但它真的很方便。您可以自己进行调整,只要它仍然拼写正确。

现在,使用它可以生成反序列化这只小狗所需的类。

public class Son
{
    public string name { get; set; }
    public int age { get; set; }
    public string sex { get; set; }
}

public class RootObject
{
    public string name { get; set; }
    public string sex { get; set; }
    public int age { get; set; }
    public List<Son> Sons { get; set; }
}

用法:

var jsonString = "this is your JSON data";
var root = JsonConvert.DeserializeObject<RootObject>(jsonString);

// do stuff