我有更新的JSON表如下如何使用Newtonsoft.Json從JSON子數組中獲取數據?
{「學生」:[{「name」:「Alex」,「lastname」:「Dean」,「Properties」:[{「iq」:120, 「頭髮」:「黑色」,「眼鏡」:「是」,「等級」:[{「數學」:44,「點亮」:「88」}]},{「iq」:120,「頭髮」: 「金髮」,「眼鏡」:「是」,「等級」:[{「數學」:22,「點亮」:「81」}]},{「iq」:144,「頭髮」:「棕色」 「眼鏡」:「是」,「等級」:[{「數學」:44,「點亮」:「88」}]},{「iq」:120,「頭髮」:「紅色」,「眼鏡」: 「是」,「等級」:[{「Math」:44,「Lit」:「88」}]}]}]}
我設法得到不在子數組內的名字和姓氏,但無法弄清楚如何獲取子數組內的其他數據。在數組「學生」內部,有一個名爲「屬性」的子數組和名爲「成績」的「屬性」內的另一個子數組。
如何獲得「髮型」和「數學」屬性?
這是我在做什麼來獲取姓名。
這裏是我的WebService類
public class WebService
{
public WebService()
{
}
public async Task<Rootobject> GetStudentInfoAsync (string apiurl) {
var client = new HttpClient();
var response = await client.GetStringAsync(string.Format(apiurl));
return JsonConvert.DeserializeObject<Rootobject>(response.ToString());
}
}
這裏是我想出了一個視圖模型。爲什麼它不工作。我沒有得到價值。
namespace MyApp
{
public class Grade
{
public string Math { get; set; }
public string Lit { get; set; }
}
public class Property
{
public int iq { get; set; }
public string hair { get; set; }
public string glasses { get; set; }
public Grade[] Grades { get; set; }
}
public class StudentInfo
{
public string name { get; set; }
public string lastname { get; set; }
public Property[] Properties { get; set; }
public string StudentName {
get{ return String.Format ("{0}", name); }
}
//Why isn't the following code work? I am not getting the values and I get errors.
public string HairColor {
get{ return String.Format ("{0}",Property.hair); }
}
public string MathGrade {
get{ return String.Format ("{0}", Property.Grade.Math); }
}
}
public class Rootobject
{
public StudentInfo[] students { get; set; }
}
}
這裏是我如何填充我的列表視圖與學生的姓名
var sv = new WebService();
var es = await sv.GetStudentInfoAsync(apiurl);
Xamarin.Forms.Device.BeginInvokeOnMainThread(() => {
listView.ItemsSource = es.students;
});
var cell = new DataTemplate (typeof(TextCell));
listView.ItemTemplate = cell;
listView.ItemTemplate.SetBinding(TextCell.TextProperty, "StudentName");
你的'Properties'陣列得到什麼? –
沒有沒有得到任何東西。 – Carell