title: Deserialize JSON string into a C# complex class object containing a reference of itself inside
body: <p>have class whose structure is like</p>
  
  <pre><code>class QuestionNode
  {
      public String Value { get; set; }
      public int? QId { get; set; }
      public String QuesDiscription { get; set; }
      public String QuesType { get; set; }
      public String Editable { get; set; }
      public int? PrevQues { get; set; }
      public String UserResponse { get; set; }
      public int UserSelected { get; set; }
      public int Progress { get; set; }
  
      public List&lt;QuestionNode&gt; OptionSet { get; set; }
      public QuestionNode(int? QId,int? PreQues, String Value){}
      public QuestionNode(int? PreQues, String Value){}
      public QuestionNode (String Value,int? QId,string QuesDiscription,string QuesType ,string Editable ,int?  PrevQues,int? NextQues,int Progress ){}
      public QuestionNode(String Value, int? QId, string QuesDiscription, string QuesType, string Editable, int? PrevQues, int UseResponse, int UserSelected, int Progress, List&lt;QuestionNode&gt; OptionSet){}
  
  }
  </code></pre>
  
  <p>I am able to convert this structure into json using NewtonSoft.Json.
  but while Deserializeing it using   </p>
  
  <p><code>Newtonsoft.Json.JsonConvert.DeserializeObject&lt;QuestionNode&gt;(json);</code></p>
  
  <p>I am getting this exception:</p>
  
  <blockquote>
    <p>Unable to find a constructor to use for type TestingJson.QuestionNode.<br>
     A class should either have a default
    constructor, one constructor with arguments or a constructor marked
    with the JsonConstructor attribute. Path 'Ques', line 2, position 10.</p>
  </blockquote>