JsonConvert.DeserializeObject
JsonConvert.DeserializeObject解析失败,映射数据为空
在使用JSON解析出错之前,使用using Newtonsoft.Json dll文件使用JsonConvert.DeserializeObject进行解析。
此次是对双层集合的json串进行数据解析
映射Class
public class Exam0
{
public List<Chooses> chooses;
public List<TxtFills> txtFills;
public List<TxtJudes> txtJudes;
public List<Problems> problems;
}
public class Chooses //选择题type
{
public int id;
public string title;
public string correctItem;
public int choseitemflag;
public int startPosition;
public string userAnswe;
public List<ChooseItems> chooseItems;//二级集合
public int isDel;
}
public class ChooseItems//选择题选项
{
public string id;
public string identify;
public string description;
public string picFilePath;
public bool showPicWord;
public string picWord;
}
public class TxtFills //填空题type
{
public string id;
public string identify;
public string description;
public string picFilePath;
public bool showPicWord;
public string picWord;
}
public class TxtJudes //判断题type
{
public bool Answer;
public int id;
public string title;
}
public class Problems //简答题type
{
public string answer;
public string imagePath;
public int id;
public string title;
}
错误解析代码块
public Exam0 Examexam0;
string jsonstr =“【请求到的JSON串】”;
Examexam0 = JsonConvert.DeserializeObject<Exam0 >(jsonstr);
正确解析代码块
正确的解析中:原本使用隐式转换(为保证在类型转换过程不出现错误,使用using System中显示转换)
public Exam0 ExamParsing(string strJson)
{
Exam0 exam0 = null;
try
{
var dict = JsonConvert.DeserializeObject<Dictionary<string, object>