将 json 扁平化为 csv 格式

2023-12-12

我正在尝试根据用户选择的字段将 json 值转换为平面 csv。我的 json 看起来像

var data = {
"_index": "test",
"_type": "news",
"_source": {
    "partnerName": "propertyFile 9",
    "relatedSources": "null",
    "entityCount": "50",
    "Categories": {
        "Types": {
            "Events": [{
                "count": 1,
                "term": "Time",
                "Time": [{
                    "term": "Dec 9",
                    "Dec_9": [{
                        "count": 1,
                        "term": "2012"
                    }]
                    }]
                }, {
                "count": 4,
                "term": "News",
                "News": [{
                    "term": "Germany",
                    "Germany": [{
                        "count": 1,
                        "term": "Election"
                    }],
                    "currency": "Euro (EUR)"
                }, {
                    "term": "Egypt",
                    "Egypt": [{
                        "count": 1,
                        "term": "Revolution"
                    }]
                    }]
                }]
            }
    }
}};

我已经能够收集所有出现的值并将其存储为 csv,但我想保存根本身的详细信息。

如果我选择时间,则 csv 输出应如下所示:

"test", "news", "propertyFile 9","null", "50", "Events": "Time", "Dec 9", "2012"

是否可以压平 json..我将添加 json 小提琴链接来显示我已经到达了这个东西..http://jsfiddle.net/JHCwM/


这是将对象扁平化为键/值对的另一种方法,其中键是属性的完整路径。

let data = {
  pc: "Future Crew",
  retro: {
    c64: "Censor Design",
    amiga: "Kefrens"
  }
};

let flatten = (obj, path = []) => {
  return Object.keys(obj).reduce((result, prop) => {
    if (typeof obj[prop] !== "object") {
      result[path.concat(prop).join(".")] = obj[prop];
      return result;
    }
    return Object.assign(result, flatten(obj[prop], path.concat(prop), result));
  }, {});
}

console.log(
  flatten(data)
);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 json 扁平化为 csv 格式 的相关文章

随机推荐

  • @RequestMapping正则表达式

    我正在尝试为 spring RequestMapping 注释创建 value 属性来像这样映射 url educationDistrict 308 action resetAddressesForYear 1 and this educa
  • 使用读取繁重的 Slave 管理热备中 Postgres 复制的冲突和滞后

    要求 Avoid terminating connection due to conflict with recovery错误也可以接受replication lag Google Cloud PostgreSQL 9 6 复制已打开 使用
  • 如何在 Objective C 中创建单例类

    如何在 Objective C 中创建单例类 好吧 appDev 您可能会在网络上找到很多不同的技术来做到这一点 然而 对于iOS应用程序开发 我认为最方便的方法是执行以下操作 编写获取单例对象的方法 建议 使用dispatch once线
  • 自定义 UserManager 始终返回 null

    我正在尝试创建自己的UserManager从原始版本延伸 当我通过电子邮件进行搜索时 找不到该用户 但是如果我从上下文中进行搜索 如果我找到用户 请参阅Get方法 为了验证它是否确实得到了很好的实现 我覆盖了FindByEmailAsync
  • UIImagePicker 的内存问题

    我正在构建一个应用程序 它有几个不同的部分 所有这些部分都非常注重图像 它与我客户的网站相关 它们是 高设计 类型的服装 该应用程序的一部分是从相机或库上传的图像 以及显示缩略图网格的表格视图 相当可靠的是 当我处理 UIImagePick
  • 在 HTML 画布上设置文本格式 [关闭]

    Closed 这个问题需要多问focused 目前不接受答案 我正在使用 HTML Canvas 和 vanilla javascript 制作游戏 我是 javascript 新手 所以这可能比我想象的要容易 我有两个代表卡片的对象数组
  • 处理开关盒

    我怎样才能用 switch 语句做这样的事情 String prototype startsWith function str return this indexOf str 0 switch myVar case myVar starts
  • 既然 appsettings.json 就足够了,那么 Hosting.json 有什么意义呢?

    在 NET Core 2 Web API 应用程序中 我可以覆盖配置urls using appsettings json 但在官方文档他们引入了额外的文件 hosting json 为什么 增加复杂性有什么意义 下面的代码完全可以使用ap
  • Python:无法使用 odeint 和 Signum 函数求解微分方程

    我正在尝试解决这个问题 U 在哪里 here s c e t e dot t and e t theta t thetad t and e dot t theta dot t thetad dot t 其中thetad thetadesir
  • 插入 MySQL 表 PHP

    我在制作一个简单的表单来将数据插入 MySQL 表时遇到了一些麻烦 我不断收到此 SQL 错误 错误 您的 SQL 语法有错误 请检查手册 与您的 MySQL 服务器版本相对应 以便使用正确的语法 第 1 行 stock ItemNumbe
  • 传单 - 我似乎无法让基本示例发挥作用

    我一直在尝试让 Leaflet 一个网络地图 API 工作几个小时 起初我犯了一个错误 试图做太多事情 现在我只是试图让基本的例子发挥作用 这是我的代码 HTML 和 Javascript
  • PHP 自动缩小。有没有?

    我使用 PHP Minify 它非常棒 但我的问题是 是否有任何 PHP 插件或其他东西可以自动检测 javascript css 代码并自动缩小它 谢谢 JavaScript 缩小器 看一看here require once jsmin
  • Web 应用程序 [ROOT] 似乎已启动名为 [pollingConfigurationSource] 的线程,但未能停止它。内存泄漏

    您好 我在运行项目时遇到内存泄漏错误 我在用spring boot quards scheduler liquibase postgreSQL 9 6 这些是我们正在使用的技术 Error 12018 10 15 11 43 19 005
  • 多对多关系

    我在 Parse com 上有两个课程 图像和数据 在数据类中 我保存了 3 个字段 姓名 手机号码和职业 在图像类中 我正在保存图像 我必须在这两个类之间创建关系 以便我可以使用相应的手机号码获取图像 一个手机号码可以保存多张图片 表数据
  • 将凭据/令牌保存在 cookie 中?

    我已经成功完成身份验证 我知道向客户端返回令牌 JWT 该令牌有一个到期日期 时间 因此我正在考虑将令牌保存在 cookie 中 以便对未来的登录进行身份验证 但这可能行不通 然后我考虑将用户名和密码保存在 cookie 中 尽管我知道不建
  • Python问号的正则表达式[重复]

    这个问题在这里已经有答案了 正在处理一个数据集 其中包含下一个审核日期的列 此列有缺失字段 以问号 表示 我想捕捉这个 使用正则表达式 然后将没有审核日期的所有行与其余数据分开 问题 明确匹配问号的表达式是什么 问号前的反斜杠表示 字面匹配
  • SQL 错误:ORA-12712:新字符集必须是旧字符集的超集

    我想将oracle数据库的字符集从 WE8MSWIN1252 更改为 AL32UTF8 我尝试从链接 http download oracle com docs cd B10501 01 server 920 a96529 ch10 htm
  • 如何在循环中运行固定数量的进程?

    我有一个这样的脚本 bin bash for i 1 to 200000 do create input file run java done 我需要同时运行多个 8 或 16 个进程 java 但我不知道如何运行 我知道wait可以提供帮
  • 添加自定义触发器时如何保留 mahapps Metro 样式?

    我有一个采用默认 Metro 风格的按钮 但是 当我向按钮添加触发器时 样式被覆盖 添加您自己的样式和触发器时如何保留原始的 mahapps Metro 样式
  • 将 json 扁平化为 csv 格式

    我正在尝试根据用户选择的字段将 json 值转换为平面 csv 我的 json 看起来像 var data index test type news source partnerName propertyFile 9 relatedSour