当前位置: 首页 > 面试题库 >

C#展平JSON结构

颜骁
2023-03-14
问题内容

我在C#中有一个json对象(表示为Newtonsoft.Json.Linq.JObject对象),我需要将其展平为字典。让我向您展示我的意思的示例:

{
    "name": "test",
    "father": {
         "name": "test2"
         "age": 13,
         "dog": {
             "color": "brown"
         }
    }
}

这将产生一个包含以下键值对的字典:

["name"] == "test",
["father.name"] == "test2",
["father.age"] == 13,
["father.dog.color"] == "brown"

我怎样才能做到这一点?


问题答案:
JObject jsonObject=JObject.Parse(theJsonString);
IEnumerable<JToken> jTokens = jsonObject.Descendants().Where(p => p.Count() == 0);
Dictionary<string, string> results = jTokens.Aggregate(new Dictionary<string, string>(), (properties, jToken) =>
                    {
                        properties.Add(jToken.Path, jToken.ToString());
                        return properties;
                    });

我有将嵌套的json结构展平为字典对象的相同要求。在这里找到解决方案。



 类似资料:
  • 问题内容: 我想一般地展平一些json,以便我可以使用c#转换为数据表并绑定到datagrid 考虑到我不知道我要下降多少级别,最好的控制方式是什么? 例如 我想扩展它(我想我可以对转换后的数据表进行迭代),而不是installations.1.installationid,我将得到installationid1。 因为我要在网格中显示结果数据表,所以我想保持列名友好。 问题答案: 您可以使用Js

  • 问题内容: 我正在尝试将JSON转换为CSV文件,可用于进一步分析。我的结构存在的问题是,当我转换JSON文件时,我有很多嵌套的字典/列表。 我尝试使用pandas ,但它只会使第一级扁平化。 任何想法如何讨好整个JSON文件,以便我可以为单个(在本例中为虚拟机)条目创建到CSV文件的单行输入?我已经尝试过这里发布的几种解决方案,但是我的结果始终只是将第一级展平。 这是示例JSON(在这种情况下,

  • 问题内容: 我想拉平一个嵌套的JSON对象,如以为了消化它Solr中。 我有11 TB的json文件,这些文件既嵌套又包含字段名称中的点,这意味着elasticsearch(点)或solr(嵌套时不带符号)都不能按原样消化它。 其他解决方案是用下划线替换字段名称中的点并将其推送到elasticsearch,但是我对solr有更好的经验,因此我更喜欢扁平化解决方案(除非solr可以按原样消化那些嵌套

  • 本文向大家介绍如何使用LINQ C#展平列表?,包括了如何使用LINQ C#展平列表?的使用技巧和注意事项,需要的朋友参考一下 展平列表意味着将List <List <T >>转换为List <T>。例如,让我们考虑一个List <List <int >>,它需要转换为List <int>。 LINQ中的SelectMany用于将序列的每个元素投影到IEnumerable <T>,然后将所得序列展

  • 问题内容: 也许有人可以帮助我。我试图将以下ist放到pandas数据框中: 结果应如下所示: 但是我尝试做的所有事情都无法获得预期的结果。我用了这样的东西: 但是然后我松开了_source字段之外的类型。我也尝试与 但是我不知道如何使用字段_source并将其附加到原始数据帧。 有人知道如何做到这一点并达到预期的结果吗? 问题答案: 用途:

  • 问题内容: 假设我们有一个类似以下的JSON结构(通常在Firebase的实时数据库中使用): 使用我想将其转换为3个元素的数组: 该 ID 属性对应于JSON对象的根弦,例如:。 解决方法: 我已经尝试了几种方法,但是在不需要辅助实体(或使用可选对象)的情况下无法获得id属性: 使用不像其他情况那么简单,因为由于密钥未知,因此无法使用。 是不适合于这些类型的案件? 问题答案: 基础实体: 解决方