我有這個結構的JSON文件:如何從反序列化的嵌套對象獲取屬性?
{
"person1": [{"name": "Bobby"}, {"age": 25}, {"height": 178}, {"hobby": "piano"}],
"person2": [{"name": "Tyler"}, { "age": 29}, {"height": 185}, {"hobby": "basketball"}],
"person3": [{"name": "Mike"}, {"age": 30}, {"height": 192}, {"hobby": "football"}]
}
後,我想在每一個數據對象的屬性。所以這裏是我的代碼到目前爲止:
JObject json = JObject.Parse(File.ReadAllText(*JSON file*));
jsonString = json.ToString();
RootObject data = JsonConvert.DeserializeObject<RootObject>(jsonString);
//Needed code here
Console.Writeline(*hobby of Tyler*)
Console.ReadKey();
}
}
//====================================JSON class======================================
public class Person1
{
public string name { get; set; }
public Int16 age { get; set; }
public Int16 height { get; set; }
public string hobby { get; set; }
}
public class Person2
{
public string name { get; set; }
public Int16 age { get; set; }
public Int16 height { get; set; }
public string hobby { get; set; }
}
public class Person3
{
public string name { get; set; }
public Int16 age { get; set; }
public Int16 height { get; set; }
public string hobby { get; set; }
}
public class RootObject
{
public List<Person1> person1 { get; set; }
public List<Person2> person2 { get; set; }
public List<Person3> person3 { get; set; }
}
}
如果有人可以幫助我這個,我將非常感激。此外,要將所有對象屬性添加到列表中並將它們綁定也非常重要。我困在當下。
舉例: ListBox1中:PERSONID:PERSON1,PERSON2,Person3可能 ListBox2:姓名/年齡/身高/愛好 TextBox3:輸出屬性
謝謝!
更新:我已經在黑暗中,直到目前正在尋找這是我得到
class Program
{
public static string url = @"C:\Users\Admin\Desktop\getData3.json";
public static string jsonString = "";
static void Main(string[] args)
{
JObject json = JObject.Parse(File.ReadAllText(url));
jsonString = json.ToString();
//==========Second Method=======================================
Console.WriteLine("==============================================================");
Console.Write("name: "+ person.person1[0].name);
Console.Write(" age: "+ person.person1[1].age);
Console.Write(" height: "+ person.person1[2].height);
Console.WriteLine(" hobby: "+ person.person1[3].hobby);
Console.ReadKey();
}
}
//CLass===================================
public class Person
{
public string name { set; get; }
public int age { set; get; }
public int height { set; get; }
public string hobby { set; get; }
}
public class RootObject
{
public List<Person> person1 { get; set; }
public List<Person> person2 { get; set; }
public List<Person> person3 { get; set; }
}
}
輸出控制檯:角色:Bobby年齡:25身高:178愛好:鋼琴
呀,你所提到的結構標準。這就是爲什麼我花了一個星期沒有進步。 JSON文件不是由我創建的,它來自我網站上的家庭作業JSON數據。我將其內容更改爲「人員」以便於堆棧回答。他使用的[{a},{b},{c}]是一組對象,而不是使用[a,b,c]數組。我無法更改我的JSON結構,因爲我必須從中獲取實時數據... –
不,他沒有使用過一組對象。他已經使用了三個陣列。我可以更新我的答案以保留其餘結構,但對我來說似乎很奇怪。 – Dec
請幫助我,我不知道爲什麼他的結構看起來很愚蠢。 我有一些進展。讓我們來看看 –