我有这个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)
{
}
答案 0 :(得分: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);
}
}