【问题标题】:Getting values from Json.net从 Json.net 获取值
【发布时间】:2011-04-11 06:59:05
【问题描述】:

我有一种情况,我会从 json 中的 api 获取一些已知值,但随后需要获取一组未知值(例如此 json 中的密码和电子邮件错误):

{"error":{"httpCode":400,"message":"Invalid parameters"},  "message":{"errors":
    {"password":"is too short"
    ,"email":"is invalid"}}}

我知道我总会收到“error”和“message.errors”。我提前不知道令牌/属性是什么(密码、电子邮件)

我正在尝试使用 Json.net 来获取它们,然后只写一个字符串生成器: “密码太短,邮箱无效”

 JObject root = JObject.Parse(<json string>);

该代码为我提供了 root.Properties,但我做错了,因为我没有从它的子项中获取属性。我没有得到什么?

谢谢,

【问题讨论】:

    标签: json.net


    【解决方案1】:

    可能有更好的方法来做到这一点,但以下代码对我有用,可以提取错误数组中键对的键和值:

    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);                
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多