title: How do you add a JToken to an JObject?
body: <p>I'm trying to add a JSON object from some text to an existing JSON file using JSON.Net. For example if I have the JSON data as below:</p>
  
  <pre><code>  {
    "food": {
      "fruit": {
        "apple": {
          "colour": "red",
          "size": "small"
        },
        "orange": {
          "colour": "orange",
          "size": "large"
        }
      }
    }
  }
  </code></pre>
  
  <p>I've been trying to do this like this:</p>
  
  <pre><code>var foodJsonObj = JObject.Parse(jsonText);
  var bananaJson = JObject.Parse(@"{ ""banana"" : { ""colour"": ""yellow"", ""size"": ""medium""}}");
  var bananaToken = bananaJson as JToken;
  foodJsonObj["food"]["fruit"]["orange"].AddAfterSelf(bananaToken);
  </code></pre>
  
  <p>But this gives the error: <code>"Newtonsoft.Json.Linq.JProperty cannot have multiple values."</code></p>
  
  <p>I've actually tried a few different ways but can't seem to get anywhere. In my example what I really want to do is add the new item to "fruit". Please let me know if there is a better way of doing this or a simpler library to use. </p>