2017-10-25 7 views
1

私は、JSONの応答として、次を取得しています:次の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); 

、はっきりと

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

を次のように私はQuestionResponseClassクラスを設計し:このため 私はこのような何かをしようとしています。誰が私のタイプにすべきか教えてもらえますか?

+3

ご希望のJSONのためにそれは働いた:) –

+0

おかげでモデルを生成するhttp://json2csharp.com/を使用してみてください。私はこの一日を無駄にした。 – Kibria

答えて

3

あなたのオブジェクトは、JSONと一致していません:

  1. listQsQuestionMasterDataと呼ばれるか、フィールド名を指定するためのマッチング属性を使用する必要があります。
  2. QuestionMasterDataには、プロパティーの1つがquestionであり、List<string>ではないオブジェクトのリストが含まれています。
  3. status1statusと呼びます。

に沿って何か:

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

public class Question 
{ 
    public string question { get; set; } 
} 
+0

'status1'は' status'でなければなりません。 –

+0

@ KeyurPATEL - true - が修正されました。ありがとう –

関連する問題