2015-08-08 88 views
-2
[ 
    { 
     "Location": "St Kilda", 
     "Name": "Movie Plaza theatre", 
     "Day": "Monday", 
     "Session": [ 
        { "Moive": "Ant-man", "Time": "11 am", "Seat": 20 }, 
        { "Moive": "Bat-man", "Time": "12 pm", "Seat": 20 }, 
        { "Moive": "Spider-man", "Time": "1 pm", "Seat": 20 }, 
        { "Moive": "Super-man", "Time": "2 pm", "Seat": 20 }, 
        { "Moive": "DeadPool", "Time": "3 pm", "Seat": 20 } 
        ] 
    }, 
    { 
     "Location": "St Kilda", 
     "Name": "Movie Plaza theatre", 
     "Day": "Tuesday", 
     "Session": [ 
        { "Moive": "Ant-man", "Time": "11 am", "Seat": 20 }, 
        { "Moive": "Bat-man", "Time": "12 pm", "Seat": 20 }, 
        { "Moive": "Spider-man", "Time": "1 pm", "Seat": 20 }, 
        { "Moive": "Super-man", "Time": "2 pm", "Seat": 20 }, 
        { "Moive": "DeadPool", "Time": "3 pm", "Seat": 20 } 
        ] 
    } 
] 

有没有什么办法可以使这些数据变得简单,这样我就不需要创建7次来只显示不同的日子。以及如何在C#中显示所有这些数据。c#json格式太复杂

回答

0

尝试这样的:

public class Session 
    { 
     public string Moive { get; set; } 
     public string Time { get; set; } 
     public int Seat { get; set; } 
    } 

    public class RootObject 
    { 
     public string Location { get; set; } 
     public string Name { get; set; } 
     public string Day { get; set; } 
     public List<Session> Session { get; set; } 
    } 

    var obj = JsonConvert.DeserializeObject<List<RootObject>>(json); 

然后你可以遍历奥伯的obj来操作你的数据。

enter image description here

你这时就需要太迭代,因为它也是一个List

+0

静态无效PrintData(列表数据) { 的foreach(在数据VAR项) { Console.WriteLine(item.Location + item.Name + item.Day); foreach(var u in item.Session) { Console.WriteLine(u); } } } – Sam

+0

我无法获得Session中的值,我得到的是Moss.Session 5次。 – Sam

+0

再次像'foreach(var session in item.Session){Console.write(session.Movie);}'这样做,它会工作。 –