1

我有这个json

{
  "Message": "The request is invalid.",
  "ModelState": {
    "UserExists": [
      "userName already exists in db."
    ]
  }
}

我可以尝试遍历所有模型状态错误(在这种情况下只有 1 个,但可能还有更多)

但我不知道如何获取文本。

 JObject o = JObject.Parse(response.Content);
                        var errors = o["ModelState"];
                        foreach (var error in errors)
                        {

                        }
4

1 回答 1

1

ModelState你得到的是一个对象,它有一个名为的属性,UserExists然后有一个错误字符串数组。

因此,您首先必须迭代数组的所有属性,ModelState然后迭代数组中的所有值。

var response = "{\"Message\": \"The request is invalid.\", \"ModelState\": { \"UserExists\": [ \"userName already exists in db.\" ], \"SomeOtherError\": [ \"another error.\", \"two in 1\" ] } }";
var o = JObject.Parse(response);
var errors = o["ModelState"];
foreach (var errorProperty in errors.OfType<JProperty>())
{
    foreach (var error in errorProperty.Values())
    {
        Console.WriteLine("{0}={1}", errorProperty.Name, error);
    }
}
于 2013-10-22T05:39:43.790 回答