title: Parse json string using JSON.NET
body: <p>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 &amp; Job). </p>
  
  <pre><code>string data = "{items:[
  {'Name':'AAA','Age':'22','Job':'PPP'}
  ,{'Name':'BBB','Age':'25','Job':'QQQ'}
  ,{'Name':'CCC','Age':'38','Job':'RRR'}]}";
  </code></pre>
  
  <p>The table format is </p>
  
  <pre>
  .........................  
  | Name  | Age   | Job   |  
  .........................  
  | AAA   | 22    | PPP   |  
  .........................  
  | BBBB  | 25    | QQQ   |  
  .........................  
  | CCC   | 28    | RRR   |  
  .........................   
  </pre>
  
  <p>Any help will be greatly appreciated.</p>
  
  <hr>
  
  <p>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  </p>
  
  <p>using Newtonsoft.Json.Linq;</p>
  
  <pre><code>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 &lt; 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() + "&lt;br /&gt;");
  
                  jtoken = jtoken.Next;
              }
          }
  </code></pre>