有一个json字符串是动态的,如下面,columns中的数量是不固定的,因此就不能使用反序列化类的方法了:
因此使用这样一种方式,把columns中的所有东西都输出出来:
public void GetDataFormHttp() { string result= "json字符串";//结构是上图中的 JObject o = JObject.Parse(result); string status = o.SelectToken("status").Value<string>(); if (status=="ok") { //构造泛型用于存放数据 //var ht = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase); IDictionary<string, JToken> rates = (JObject)o["columns"]; Dictionary<string, string> dictionary = rates.ToDictionary(pair => pair.Key, pair => (string)pair.Value); StringBuilder sb = new StringBuilder(); foreach (KeyValuePair<string, string> kv in dictionary) { Console.WriteLine(kv.Key + kv.Value); sb.Append("<tr>"); sb.AppendFormat("<td>{0}", kv.Key); sb.Append("</td>"); sb.AppendFormat("<td>{0}", kv.Value); sb.Append("</td>"); sb.Append("</tr>"); } ltl.Text = sb.ToString(); }