我有一种情况,我会从json中的api获取一些已知值,但是然后需要获取一组未知值(例如此json中的密码和电子邮件错误):
{"error":{"httpCode":400,"message":"Invalid parameters"}, "message":{"errors":
{"password":"is too short"
,"email":"is invalid"}}}
我知道我总会得到'错误'和'message.errors'。我提前不知道令牌/属性是什么(密码,电子邮件)
我正在尝试使用Json.net来获取它们,然后写入字符串生成器: “密码太短,电子邮件无效”
JObject root = JObject.Parse(<json string>);
那段代码给了我root.Properties,但我做错了,因为我没有得到它的孩子的属性。我得到了什么?
谢谢,
答案 0 :(得分:13)
可能有更好的方法可以做到这一点,但以下代码可以帮我提取错误数组中密钥对的密钥和值:
string data =
@"{""error"":{""httpCode"":400,""message"":""Invalid parameters""}, ""message"":{""errors"":
{""password"":""is too short""
,""email"":""is invalid""}}}";
JObject jObject = JObject.Parse(data);
JObject errors = (JObject)jObject["message"]["errors"];
foreach(var error in errors)
{
MessageBox.Show(p.Key + p.Value);
}