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());
                }               
              
            }

解决方案 »

  1.   

    很多第三方的dll,可以解析json,c#现在也有
      

  2.   

    一般来说后台会有个对象可以对应这些数据。
    用JsonConvert.DeserializeObject<T>();得到对象的集合或者队列,然后获取第四个对象,再访问属性runners,得到另外一个对象的集合或者队列,然后再访问第二个对象的id2属性。
      

  3.   

    搜 C# json反序列化
    或者 Newtonsoft.Json.dll 反序列化
      

  4.   

    Newtonsoft.Json.dlldynamic obj = JObject.Parse(response.Content);
    obj[1].result[1].runners[1].id2
      

  5.   

    Newtonsoft.Json.dlldynamic obj = JObject.Parse("json content");
    obj[1].result[1].runners[1].id2