我有一个情况,我将从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); }