I have a string like the following in C#. I need to loop through and create an HTML table output. I tried with JSON.NET but couldn't figure out how to retrieve the keys (Name, Age & Job).
string data = "{items:[
{'Name':'AAA','Age':'22','Job':'PPP'}
,{'Name':'BBB','Age':'25','Job':'QQQ'}
,{'Name':'CCC','Age':'38','Job':'RRR'}]}";
The table format is
.........................
| Name | Age | Job |
.........................
| AAA | 22 | PPP |
.........................
| BBBB | 25 | QQQ |
.........................
| CCC | 28 | RRR |
.........................
Any help will be greatly appreciated.
The code provided by Dave is the ideal solution here.. but it work for .NET 4.0.. I have used following code with JSON.NET for .NET 3.5
using 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;
}
}
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…