您可以使用.NET 4的动态类型和内置的JavascriptSerializer来实现。可能是这样的:
string json = "{"items":[{"Name":"AAA","Age":"22","Job":"PPP"},{"Name":"BBB","Age":"25","Job":"QQQ"},{"Name":"CCC","Age":"38","Job":"RRR"}]}";var jss = new JavascriptSerializer();dynamic data = jss.Deserialize<dynamic>(json);StringBuilder sb = new StringBuilder();sb.Append("<table>n <thead>n <tr>n");// Build the header based on the keys in the// first data item.foreach (string key in data["items"][0].Keys) { sb.AppendFormat(" <th>{0}</th>n", key);}sb.Append(" </tr>n </thead>n <tbody>n");foreach (Dictionary<string, object> item in data["items"]) { sb.Append(" <tr>n"); foreach (string val in item.Values) { sb.AppendFormat(" <td>{0}</td>n", val); }}sb.Append(" </tr>n </tbody>n</table>");string myTable = sb.ToString();最后,
myTable将包含一个如下所示的字符串:
<table> <thead> <tr> <th>Name</th> <th>Age</th> <th>Job</th> </tr> </thead> <tbody> <tr> <td>AAA</td> <td>22</td> <td>PPP</td> <tr> <td>BBB</td> <td>25</td> <td>QQQ</td> <tr> <td>CCC</td> <td>38</td> <td>RRR</td> </tr> </tbody></table>



