title: deserialize json with different propertyValue types
body: <p>I want to deserialize (and afterwards serialize again) the following Json</p>
  
  <pre><code>{
    "id": "12345",
    "custom_fields": [
        {
          "definition": "field1",
          "value": "stringvalue"
        },      
        {
          "definition": "field2",
          "value": [ "arrayvalue1", "arrayvalue2" ]
        },
        {
          "definition": "field3",
          "value": {
            "type": "user",
            "id": "1245"
          }
        }
      ]
  }
  </code></pre>
  
  <p>The type of the value if different (field1: string, field2: array, field3: an extra nested structure).
  This what I have:</p>
  
  <pre><code>public class CustomField
  {
      public string Definition { get; set; }
      public object Value { get; set; }
  }
  
  public class RootObject
  {
      public string Id { get; set; }
      public List&lt;CustomField&gt; Custom_fields { get; set; }
  }
  </code></pre>
  
  <p>The Value-field is defined as object, but this is a problem when serializing again, especially the nested structure for field3.
  How can I solve this?</p>