我无法弄清楚为什么我的模型不会填充我的JSON字符串中的数据。这是模型:
public class MidasReturnModel
{
public string status { get; set; }
public string msg { get; set; }
}
这是我的C#代码:
MidasReturnModel rtn = JsonConvert.DeserializeObject<MidasReturnModel>(post_responseTemp);
这是JSON字符串post_responseTemp,因为它传入了该函数:
"{\"MidasReturnModel\": {\"status\":\"warn\", \"msg\":\"Customer does not have contract for this season\"}}"
谁能看到我做错了什么? “rtn”是一个模型,当我运行代码时,状态和msg都是“null”。
答案 0 :(得分:1)
看着你的json,你正在定义MidasReturnModel
。
当这个被反序列化时,它正在你的班级上寻找一个名为MidasReturnModel
的属性。
我会尝试你的json:
{
"status": "warn",
"msg": "Customer does not have contract for this season"
}
如果你想让你的json保持不变,那么就必须将你的viewmodel包装在另一个类中。
public class MidasWrapper
{
public MidasReturnModel MidasReturnModel { get; set; }
}
public class MidasReturnModel
{
public string status { get; set; }
public string msg { get; set; }
}
var rtn = JsonConvert.DeserializeObject<MidasWrapper>(post_responseTemp);