如何使用Json对象从嵌套对象获取Key并返回数组?

时间:2016-12-15 22:06:24

标签: c# arrays json key

我有一个返回json的Json对象。

我调用api并转换为json对象:

var returnJson = new JavaScriptSerializer().Deserialize(removeChar, targetType: null);

结果是:

{
  "Type": "Local",
  "results": {
    "A": 4.4023,
    "B": 1.6403,
    "C": 2.3457
}

如何通过这个json对象进行识别并只返回数组中的键?

我不确定foreach循环中的内容:

foreach(var item in returnJson)
{
//get just keys.ToArray();
}

类文件

public class BasicResults
    {
        public string Type { get; set; }
        public  Result results { get; set; }
    }

 public class Result
    {
      public double A { get; set; }
      public double B { get; set; }
      public double C { get; set; }
    }
}

我认为这是朝着正确的方向但不能以嵌套率为目标:

object[] getResults = returnJson.GetType()
                         .GetProperties()
                         .Select(p =>
                         {
                             object value = p.GetValue(results);
                             return value == null ? null : value.ToString();
                         })
                         .ToArray();

1 个答案:

答案 0 :(得分:0)

创建一个类如下

<ul class="menuUl">
  <li class="menuLi"><a class="active" href="EindOpdracht.html">COURSES</a>
  </li>
  <li class="menuLi"><a href="">INFO DAY</a>
  </li>
  <li class="menuLi"><a href="">LOCATIONS</a>
  </li>
</ul>

进行反序列化

public class JsonData
{
    public string Type { get; set; }
    public Dictionary<string, string> Results { get; set; }
}

然后你可以拿到钥匙

var returnJson = new JavaScriptSerializer().Deserialize<JsonData>(yourJsonString);