title: JSON.NET Selecting items in array with linq
body: <p>I need to select some values from a json response. Im using json.net, fine with the simpler stuff, but there doesnt seem to be much documentation/tutorials on anything past that. In the json example below i need to select all the ages:</p>
  
  <pre><code>{
  "teacherHolder": [{
      "id": 200000001,
      "name": "Mr Test",
      "class": "a4",
      "students": [{
          "id": "100532469",
          "name": "ben"
      },
      {
          "id": "100506025",
          "name": "bill"
      },
      {
          "id": "100000447",
          "name": "bob"
      }]
  
  }]
  </code></pre>
  
  <p>}</p>
  
  <p>I have tried this and other variations:</p>
  
  <pre><code>var stuff = response["teacherHolder"].Children()["students"];
  
  var names = from y in stuff.Children().Values()
                      select y["name"];
  </code></pre>
  
  <p>and this:</p>
  
  <pre><code>var names= response["teacherHolder"]
              .Select(s =&gt; (string)s.SelectToken("students[0].name")).ToList();
  </code></pre>
  
  <p>response is a JObject from a webrequest.
  I just get back this:</p>
  
  <pre><code>[{"Key":"Newtonsoft.Json.Linq.JEnumerable`1[Newtonsoft.Json.Linq.JToken]","Value":"Newtonsoft.Json.Linq.JEnumerable`1[Newtonsoft.Json.Linq.JToken]"}]
  </code></pre>
  
  <p>The results are eventually put into a dictionary. </p>
  
  <p>Any idea how to do this? i know it will be simple, i just havent found the right combination.</p>