Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 获取嵌套对象值时出现Newtonsoft.Json问题_C#_Json.net - Fatal编程技术网

C# 获取嵌套对象值时出现Newtonsoft.Json问题

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

在JObject.Parse之后获取嵌套对象时遇到问题

为此:

[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 };