我想将json字符串转换为对象列表。请帮我。如果由来完成,那会更有帮助NewtonJson。
NewtonJson
我试过了,但是没有用。我不想要该json的所有值。MatrixModel中提到的
这是一个对象
public class MatrixModel { public string S1 { get; set; } public string S2 { get; set; } public string S3 { get; set; } public string S4 { get; set; } public string S5 { get; set; } public string S6 { get; set; } public string S7 { get; set; } public string S8 { get; set; } public string S9 { get; set; } public string S10 { get; set; } public int ScoreIfNoMatch { get; set; } }
这是Json String
"[ { "Question": { "QuestionId": 49, "QuestionText": "Whats your name?", "TypeId": 1, "TypeName": "MCQ", "Model": { "options": [ { "text": "Rahul", "selectedMarks": "0" }, { "text": "Pratik", "selectedMarks": "9" }, { "text": "Rohit", "selectedMarks": "0" } ], "maxOptions": 10, "minOptions": 0, "isAnswerRequired": true, "selectedOption": "1", "answerText": "", "isRangeType": false, "from": "", "to": "", "mins": "02", "secs": "04" } }, "CheckType": "", "S1": "", "S2": "", "S3": "", "S4": "", "S5": "", "S6": "", "S7": "", "S8": "", "S9": "Pratik", "S10": "", "ScoreIfNoMatch": "2" }, { "Question": { "QuestionId": 51, "QuestionText": "Are you smart?", "TypeId": 3, "TypeName": "True-False", "Model": { "options": [ { "text": "True", "selectedMarks": "7" }, { "text": "False", "selectedMarks": "0" } ], "maxOptions": 10, "minOptions": 0, "isAnswerRequired": false, "selectedOption": "3", "answerText": "", "isRangeType": false, "from": "", "to": "", "mins": "01", "secs": "04" } }, "CheckType": "", "S1": "", "S2": "", "S3": "", "S4": "", "S5": "", "S6": "", "S7": "True", "S8": "", "S9": "", "S10": "", "ScoreIfNoMatch": "2" } ]"
您可以使用json2csharp.com将json转换为对象模型
var model = JsonConvert.DeserializeObject<RootObject>(json);
在这里,它将生成如下内容:
public class MatrixModel { public class Option { public string text { get; set; } public string selectedMarks { get; set; } } public class Model { public List<Option> options { get; set; } public int maxOptions { get; set; } public int minOptions { get; set; } public bool isAnswerRequired { get; set; } public string selectedOption { get; set; } public string answerText { get; set; } public bool isRangeType { get; set; } public string from { get; set; } public string to { get; set; } public string mins { get; set; } public string secs { get; set; } } public class Question { public int QuestionId { get; set; } public string QuestionText { get; set; } public int TypeId { get; set; } public string TypeName { get; set; } public Model Model { get; set; } } public class RootObject { public Question Question { get; set; } public string CheckType { get; set; } public string S1 { get; set; } public string S2 { get; set; } public string S3 { get; set; } public string S4 { get; set; } public string S5 { get; set; } public string S6 { get; set; } public string S7 { get; set; } public string S8 { get; set; } public string S9 { get; set; } public string S10 { get; set; } public string ScoreIfNoMatch { get; set; } } }
然后,您可以反序列化为:
var model = JsonConvert.DeserializeObject<List<MatrixModel.RootObject>>(json);