我应该如何声明我的类反序列化以下JSON对象?

时间:2017-10-25 09:38:40

标签: c# serialization json.net

我得到以下作为JSON响应:

string responJsonText = 
{
  "QuestionMasterData":
  [
    {"question":"First Name"},
    {"question":"Second Name"},
    {"question":"Last Name"},
    {"question":"Password Field"},
    {"question":"Re type password"},
    {"question":"Email"},
    {"question":"Phone"},
    {"question":"Address"},
    {"question":"State Zip"},
    {"question":"Country"},
    {"question":" Lorem Ipsum as their default model text. Many desktop publishing"}
  ],
  "status":1
}

我想将其反序列化为.NET对象。 为此,我尝试这样的事情:

QuestionResponseClass response = 
JsonConvert.DeserializeObject<QuestionResponseClass >(responJsonText);

我设计了QuestionResponseClass类,如下所示

public class QuestionResponse
{
    public List<string> listQs { get; set; }
    public int status { get; set; }
}

显然,我在宣布上课时犯了一些错误。谁能告诉我这个类型应该是什么?

1 个答案:

答案 0 :(得分:3)

您的对象与json:

不匹配
  1. listQs应调用QuestionMasterData或使用匹配属性指定字段名称。
  2. QuestionMasterData包含一个对象列表,其中一个属性为question且不是List<string>
  3. status1应该被称为status
  4. 一些事情:

    public class QuestionResponse
    {
        public List<Question> QuestionMasterData { get; set; }
        public int status { get; set; }
    }
    
    public class Question
    {
        public string question { get; set; }
    }