JSON.Net - 在不知道名称的情况下选择

时间:2014-02-11 09:11:59

标签: c# json.net

我有以下json:

    {
   "success":1,
   "return":{
      "29460691":{
         "amount":0.391199,
         "rate":0.00608
      },
      "29460690":{
         "amount":0.285893,
         "rate":0.00607,
      },
      "29460689":{
         "amount":0.322908,
         "rate":0.00606,
      }
}

想要找到某个金额的第一个费率。因此,假设我想选择金额为“0.285893”的第一个订单的汇率

我怎样才能最好地与Newtonsoft合作?我最大的问题是在JsonObject [“return”]中选择数字。

2 个答案:

答案 0 :(得分:2)

使用 Dictionary<string, SomeObject>

var obj = JsonConvert.DeserializeObject<RootClass>(json);

public class RootClass
{
    public int Success { set; get; }
    public Dictionary<string, Data> Return { set; get; }
}

public class Data
{
    public decimal Amount { set; get; }
    public decimal Rate { set; get; }
}

答案 1 :(得分:0)

IDictionary <string,JToken> json = JObject.Parse(jsonString);

现在您可以访问字典的键,这些键在您的JSON中是相同的。