C# 如何从此Json获取文本(使用Json.net JObject)
我有这个jsonC# 如何从此Json获取文本(使用Json.net JObject),c#,json,json.net,C#,Json,Json.net,我有这个json { "Message": "The request is invalid.", "ModelState": { "UserExists": [ "userName already exists in db." ] } } 我可以尝试遍历所有模型状态错误(在本例中只有1个错误,但可能还有更多错误) 但是我想不出怎么把文字写出来 JObject o = JObject.Parse(response.Content);
{
"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)
{
}
您得到的
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);
}
}
var response=“{\”Message\“:\”请求无效。\”,\“ModelState\”:{\“UserExists\”:[\“用户名已存在于数据库中。\”],\“SomeOtherError\”:[\“另一个错误。\”,\“1中的两个”]};
var o=JObject.Parse(响应);
var错误=o[“模型状态”];
foreach(errors.OfType()中的var errorProperty)
{
foreach(errorProperty.Values()中的变量错误)
{
WriteLine(“{0}={1}”,errorProperty.Name,error);
}
}
您得到的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);
}
}
var response=“{\”Message\“:\”请求无效。\”,\“ModelState\”:{\“UserExists\”:[\“用户名已存在于数据库中。\”],\“SomeOtherError\”:[\“另一个错误。\”,\“1中的两个”]};
var o=JObject.Parse(响应);
var错误=o[“模型状态”];
foreach(errors.OfType()中的var errorProperty)
{
foreach(errorProperty.Values()中的变量错误)
{
WriteLine(“{0}={1}”,errorProperty.Name,error);
}
}