【发布时间】:2011-09-08 19:19:28
【问题描述】:
我在 C# 中有如下字符串。我需要循环并创建一个 HTML 表格输出。我尝试使用 JSON.NET,但不知道如何检索密钥(姓名、年龄和工作)。
string data = "{items:[
{'Name':'AAA','Age':'22','Job':'PPP'}
,{'Name':'BBB','Age':'25','Job':'QQQ'}
,{'Name':'CCC','Age':'38','Job':'RRR'}]}";
表格格式为
………………………………………………………………………………………………………… |姓名 |年龄 |职位 | ………………………………………………………………………………………………………… | AAA | 22 |购买力平价 | ………………………………………………………………………………………………………… | BBBB | 25 | QQ | ………………………………………………………………………………………………………… | CCC | 28 | RR | …………………………………………………………………………………………………………任何帮助将不胜感激。
Dave 提供的代码是这里的理想解决方案.. 但它适用于 .NET 4.0.. 我已将以下代码与 JSON.NET 一起用于 .NET 3.5
使用 Newtonsoft.Json.Linq;
string jsonString = "{items:[{'Name':'Anz','Age':'29','Job':''},{'Name':'Sanjai','Age':'28','Job':'Developer'},{'Name':'Rajeev','Age':'31','Job':'Designer'}]}";
JObject root = JObject.Parse(jsonString);
JArray items = (JArray)root["items"];
JObject item;
JToken jtoken;
for (int i = 0; i < items.Count; i++) //loop through rows
{
item = (JObject)items[i];
jtoken = item.First;
while (jtoken != null)//loop through columns
{
Response.Write(((JProperty)jtoken).Name.ToString() + " : " + ((JProperty)jtoken).Value.ToString() + "<br />");
jtoken = jtoken.Next;
}
}
【问题讨论】:
-
那不是 JSON。 jsonlint.com 将帮助您发现错误。