title: Deserialize a property as an ExpandoObject using JSON.NET
body: <p>For example, there's an object like the next one:</p>
  
  <pre><code>public class Container
  {
     public object Data { get; set; }
  }
  </code></pre>
  
  <p>And it's used this way:</p>
  
  <pre><code>Container container = new Container
  {
      Data = new Dictionary&lt;string, object&gt; { { "Text", "Hello world" } }
  };
  </code></pre>
  
  <p>If I deserialize a JSON string obtained from serializing the above instance, the <code>Data</code> property, even if I provide the <code>ExpandoObjectConverter</code>, it's not deserialized as an <code>ExpandoObject</code>:</p>
  
  <pre><code>Container container = JsonConvert.Deserialize&lt;Container&gt;(jsonText, new ExpandoObjectConverter());
  </code></pre>
  
  <p><strong>How can I deserialize a class property assigned with an anonymous object, or at least, not concrete type as an <code>ExpandoObject</code>?</strong></p>
  
  <h2>EDIT:</h2>
  
  <p><em>Someone answered that I could just use the dynamic object. This won't work for me. I know I could go this way, but this isn't the case because I need an ExpandoObject.
  Thanks.</em></p>
  
  <h2>EDIT 2:</h2>
  
  <p><em>Some other user answered I could deserialize a JSON string into an <code>ExpandoObject</code>. This isn't the goal of this question. I need to deserialize a concrete type having a dynamic property. In the JSON string this property could be an associative array.</em></p>