C# 获取嵌套对象值时出现Newtonsoft.Json问题
在JObject.Parse之后获取嵌套对象时遇到问题 为此:C# 获取嵌套对象值时出现Newtonsoft.Json问题,c#,json.net,C#,Json.net,在JObject.Parse之后获取嵌套对象时遇到问题 为此: [OperationContract] [WebInvoke(Method = "POST", BodyStyle = WebMessageBodyStyle.Wrapped, RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)] string CheckRequiredVersion(strin
[OperationContract]
[WebInvoke(Method = "POST",
BodyStyle = WebMessageBodyStyle.Wrapped,
RequestFormat = WebMessageFormat.Json,
ResponseFormat = WebMessageFormat.Json)]
string CheckRequiredVersion(string PROGRAM, string ptotal_current, string ptotal_required, string pNotification);
及
我有一个JSON字符串:
{
“CheckRequiredVersionResult:“{\'result\':false,\'ptotal\'U required\':999999,\'pNotification\':\”}”
}
现在,当我从该字符串执行JObject.Parse时,只有第一个{}实际上是一个对象,第二个被视为字符串
现在,有没有一种方法可以将CheckRequiredVersionResult中的值也作为对象处理?因此,我可以通过以下方式获取其价值:
ptotal_required = j["CheckRequiredVersionResultResult"]["ptotal_required"].ToString();
谢谢好的,我意识到我的错误,我们不能从任何方法返回任何匿名类型-我们必须使用命名类型 因此,我必须向模型中添加一个类:
public class CheckRequiredVersionClass
{
public bool result { get; set; }
public int ptotal_required { get; set; }
public string pNotification { get; set; }
}
并更改返回它的方式(作为CheckRequiredVersionClass)
现在我得到了正确的结果,就像一个嵌套对象:
{
“CheckRequiredVersionResult”:{
“通知”:“,
“所需ptotal_”:99999,
“结果”:错误
}
}另一个解决方案是使用。结果几乎相同)
public class CheckRequiredVersionClass
{
public bool result { get; set; }
public int ptotal_required { get; set; }
public string pNotification { get; set; }
}
return new CheckRequiredVersionClass { result = false, ptotal_required = total_required, pNotification = pNotification };