遍历 foreach (KeyValuePair<string,object> temp in  json)
{
   var key = temp.Key;
   var  value = temp.Value;
}

解决方案 »

  1.   


      
            string retString = "{\"validateMessagesShowId\":\"_validatorMessage\",\"status\":true,\"httpstatus\":200,\"data\":[{\"queryLeftNewDTO\":{\"train_no\":\"5l0000D62652\",\"station_train_code\":\"D626\",\"start_station_telecode\":\"AOH\",\"start_station_name\":\"上海虹桥\",\"end_station_telecode\":\"ICW\"}}]}";       
            JObject jo = (JObject)JsonConvert.DeserializeObject(retString);
            JToken torrentsArray = (JToken)jo["data"];     
            foreach (JToken result in torrentsArray)
            {
                string s1 = result.SelectToken("queryLeftNewDTO")["train_no"].ToString();
                string s2 = result.SelectToken("queryLeftNewDTO")["station_train_code"].ToString();      
             
            }
      

  2.   

    Dictionary<string,object> json = (Dictionary<string, object>)serializer.DeserializeObject(retString);
    直接写成
    dynamic json = (Dictionary<string, object>)serializer.DeserializeObject(retString);然后 json["data"][0]["queryLeftNewDTO"]["train_no"] 就是 5l0000D62652,其余类似你也可以 foreach (dynamic f in json["data"]) {  var tno= f["queryLeftNewDTO"]["train_no"] ;   }   这样做循环
      

  3.   


    有点麻烦
      if (json.TryGetValue("data", out obje))
            {           
                object[] results = (object[])obje;         
                foreach (object obj in results)
                {   
                    Dictionary<string, object> result = (Dictionary<string, object>)obj;             
                    Dictionary<string, object> value = (Dictionary<string, object>)result["queryLeftNewDTO"];
                    string ss = value["train_no"].ToString();
        …………
                }            
            }