将JSON字符串反序列化为包含

时间:2015-11-23 06:34:28

标签: c# json

有类的结构类似

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<QuestionNode> 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<QuestionNode> OptionSet){}

}

我可以使用NewtonSoft.Json将此结构转换为json。 但是在使用

对其进行反序列化时

Newtonsoft.Json.JsonConvert.DeserializeObject<QuestionNode>(json);

我得到了这个例外:

  

无法找到用于类型TestingJson.QuestionNode的构造函数    一个类应该有一个默认值   构造函数,带有参数的构造函数或标记的构造函数   使用JsonConstructor属性。 Path&#39; Ques&#39;,第2行,第10位。

1 个答案:

答案 0 :(得分:1)

由于异常状态,您必须添加默认构造函数:

body
{
    height: 300px;
    width: 300px;
    background: #f00 url(http://d1c739w2xm33i4.cloudfront.net/2.2/top_image.jpg);
    background-size: 100%;
    background-repeat: no-repeat; 
}