如何从带有Json Object的嵌套对象中获取Key并以数组形式返回? [英] How to get Key from nested object with a Json Object and return in array?

查看:1564
本文介绍了如何从带有Json Object的嵌套对象中获取Key并以数组形式返回?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I have a Json object which returns json.

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

I call an api and convert into json object:

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

结果是:

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

我该如何识读此json对象并仅返回数组中的键?

how do I do literate through this json object and return just keys in array?

我不确定foreach循环中会发生什么:

I unsure what goes in foreach loop:

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

我认为这是朝正确的方向,但不能定位嵌套率:

I think this is in the right direction but can not target nested rate:

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

推荐答案

创建如下所示的类

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

然后执行反序列化

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

然后您可以获得钥匙

 var keys = returnJson .Results.Keys;

这篇关于如何从带有Json Object的嵌套对象中获取Key并以数组形式返回?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆