我有一个情况,我将从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,但我做错了,因为我没有得到属性的孩子.我不知道什么
谢谢,
可能会有一个更好的方法来做到这一点,但是下面的代码可以帮助我提取错误数组中密钥对的密钥和值:
- 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);
- }