如何迭代来自JsonConvert.DeserializeObject的数据?

富克斯

我正在使用Azure函数来创建一个excel文件,但是我有点难以迭代输入。

这是输入:

{
    "data": {
        "Header1": {
            "body": [
                "1",
                "2",
                "3"
            ]
        }
    }
}

我想先获取“数据”中对象的键,然后将其放在最前面的单元格中,但是我要迭代并从中获取键有点困难。那就是我想要做的:

        Data data = JsonConvert.DeserializeObject<Data>(body as string);
        foreach (var item in data.data.Keys)
        {
            // For each iteration, go to the right. In this case, `i` doesn't exist.
            // Is there a way to do it then?
            Cells[0, i] = item; // Not item, the key of item.
        }

Header1只是一个示例,键可以是任何单词。

数据类:

public class Data
{
    public dynamic data { get; set; }
}
海塔姆

为了获得更好的结构,您必须放弃使用动态变量并编写一些类,这是一个示例:

public class DataContainer
{

    public Dictionary<string, Header> Data { get; set; }

}

public class Header
{
    public int[] Body { get; set; }

}

您现在所要做的就是像这样使用它:

string json = "{\"data\":{\"Header1\":{\"body\":[\"1\",\"2\",\"3\"]}}}";
DataContainer data = JsonConvert.DeserializeObject<DataContainer>(json);

这将为您提供具有正确信息的DataContainer实例,您可以像这样迭代它:

foreach (var kvp in data.Data)
{
    // kvp.Key holds the keys (Header1, etc...)
    // kvp.Value holds a Header instance
    // kvp.Value.body holds the integer array you have
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何从 DeserializeObject 获取数据

使用newtonsofts JsonConvert DeserializeObject的c#通用数据对象

用于反序列化数据的 JsonConvert.DeserializeObject

如何从 Dictionary<string, dynamic> (Json DeserializeObject) 中获取数据

如何从jsonconvert.deserializeobject获取令牌值

如何从JsonConvert.DeserializeObject返回NULL

迭代来自 API 的数据

如何在JsonConvert.DeserializeObject中处理null / empty值

Newtonsoft JsonConvert.DeserializeObject如何忽略空对象

如何使用JsonConvert.DeserializeObject忽略空数组?

如何从Entity Framework中存在数据模型的json的DeserializeObject中删除?

JsonConvert.DeserializeObject数组的数组

JsonConvert.DeserializeObject上的StackOverflowException

来自JsonConvert.DeserializeObject的C#google geolocation Api的Administrative_area_level_2值

JsonConvert DeserializeObject区分大小写

C xamarin JsonConvert.DeserializeObject错误

Json.NET(JsonConvert.DeserializeObject)

`JsonConvert.DeserializeObject <Model>(“ {float:NaN}”)`失败

在嵌套对象上使用JsonConvert.DeserializeObject

JObject.Parse与JsonConvert.DeserializeObject

JsonConvert.DeserializeObject到美国文化

JsonConvert.DeserializeObject由于意外字符而失败

JsonConvert.DeserializeObject 带 DynamicObject 和 TypeCreationConverter

JsonConvert.DeserializeObject将属性留空

使用JsonConvert.DeserializeObject动态选择类

JsonConvert.DeserializeObject , 所有对象

C# JsonConvert.DeserializeObject 返回 0?

带有继承对象的 JsonConvert DeserializeObject

JsonConvert.DeserializeObject 返回空值