如何从带有Json Object的嵌套对象中获取Key并以数组形式返回? [英] How to get Key from nested object with a Json Object and return in array?
本文介绍了如何从带有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屋!
查看全文