title: Convert object of any type to JObject with Json.NET
body: <p>I often need to extend my Domain model with additional info before returning it to the client with WebAPI. To avoid creation of ViewModel I thought I could return JObject with additional properties. I could not however find direct way to convert object of any type to JObject with single call to Newtonsoft JSON library. I came up with something like this:</p>
  
  <ol>
  <li>first SerializeObject</li>
  <li>then Parse</li>
  <li>and extend JObject</li>
  </ol>
  
  <p>Eg.:</p>
  
  <pre><code>var cycles = cycleSource.AllCycles();
  
  var settings = new JsonSerializerSettings
  {
      ContractResolver = new CamelCasePropertyNamesContractResolver()
  };
  
  var vm = new JArray();
  
  foreach (var cycle in cycles)
  {
      var cycleJson = JObject.Parse(JsonConvert.SerializeObject(cycle, settings));
      // extend cycleJson ......
      vm.Add(cycleJson);
  }
  
  return vm;
  </code></pre>
  
  <p>I this correct way ? </p>