Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
296 views
in Technique[技术] by (71.8m points)

c# - How can I map JSON to a .NET class

I want to map this JSON into a .NET class. How can I map this JSON data into a class? Please suggest how. Here is the json:

{"results": [
   "43853",
   "43855",
   "43856",
   "43857",
   {
     "questionType": 3,
     "choiceAnswers": [123]   
   }
 ]}
See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

The easiest solution is to use Visual Studio Edit > Paste Special > Paste Json As Classes. But as your json is an array of different objects the .NET class will just be

public class JsonDto
{
    public List<object> Results { get; set; }
}

A list of objects will be painful to work with so I recommend that you to use a typed model but then you need to specify you need to define the values, here's an example

{"results": [
     {
       "key1":"43853",
       "key2":"43855",
       "key3":"43856",
       "key4":"43857",
       "question": {
         "questionType": 3,
         "choiceAnswers": [123]   
       }
     }
 ]};

 public class JsonDto
 {
    public List<ResultDto> Results { get; set; }
 }
 public class ResultDto
 {
    public string Key1 { get; set; }
    public string Key2 { get; set; }
    public string Key3 { get; set; }
    public string Key4 { get; set; }
    public QuestionDto Question { get; set; }
 }
 public class QuestionDto
 {
    public int QuestionType { get; set; }
    public List<int> ChoiceAnswers { get; set; }
 }

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...