我有這樣的json文件。如何在JSON.NET中反序列化具有嵌套對象列表的對象列表?
[
{
"listMember": [
{
"Name": "Cris",
"Position": "Командир",
"Age": 50,
"Experience": 25
},
{
"Name": "Sandra",
"Position": "Стюардесса",
"Age": 25,
"Experience": 5
}
],
"Id": 31004,
"Type": "грузовой",
"Model": "Bell",
"Year_of_issue": 2007,
"Seats": 150,
"Carrying": 50,
"Maintenance": "12.04.2017"
}
]
飛機的名單:
class Airplane
{
public List<Member> listMember = new List<Member>();
public Int16 Id { get; set; }
public String Type { get; set; }
public String Model { get; set; }
public Int16 Year_of_issue { get; set; }
public Int16 Seats { get; set; }
public Int16 Carrying { get; set; }
public String Maintenance { get; set; }
}
成員的嵌套列表。
class Member
{
public string Name { get; set; }
public string Position { get; set; }
public UInt16 Age { get; set; }
public UInt16 Experience { get; set; }
}
我不知道如何反序列化這個文件。 我試圖這麼做...
List<Airport> airport = JsonConvert.DeserializeObject<List<Airport>>(json);
但它不工作。因爲該類型需要一個JSON數組(例如[1,2,3]),所以無法將當前的JSON對象(例如{「name」:「value」})反序列化爲類型'lab7.Airport' ])來正確地反序列化。 要修復此錯誤,請將JSON更改爲JSON數組(例如[1,2,3])或更改反序列化類型,使其成爲正常的.NET類型(例如,不是像整數這樣的基本類型,也不是集合類型像數組或列表),可以從JSON對象反序列化。 JsonObjectAttribute也可以添加到類型中,以強制它從JSON對象反序列化。
在此先感謝您的幫助。
你反序列化的嘗試不匹配,你的類名是'Airplane'但你嘗試反序列化到'列表' –
ColinM
您的代碼工作正常(如果您將機場更改爲飛機),也許加載json會出現問題。 –
機場是幾架飛機嗎? –