2015-08-08 87 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);}'這樣做,它會工作。 –