string s = "";
StreamReader sr = new StreamReader("test.json");
s = sr.ReadToEnd();
sr.Close();
JObject jo = (JObject)JsonConvert.DeserializeObject(s);
JToken torrentsArray = (JToken)jo["result"];
foreach (JToken result in torrentsArray)
{
JArray jar = JArray.Parse(result["runners"].ToString());
for (var i = 0; i < jar.Count; i++)
{
JObject j = JObject.Parse(jar[i].ToString());
MessageBox.Show(j["id2"].ToString());
MessageBox.Show(j["name"].ToString());
}
}
用JsonConvert.DeserializeObject<T>();得到对象的集合或者队列,然后获取第四个对象,再访问属性runners,得到另外一个对象的集合或者队列,然后再访问第二个对象的id2属性。
或者 Newtonsoft.Json.dll 反序列化
obj[1].result[1].runners[1].id2
obj[1].result[1].runners[1].id2