当前位置: 首页 > 知识库问答 >
问题:

JSON非规范化所需的Jolt Spec

程墨竹
2023-03-14

我有以下格式的json(不限于像本例中那样的两个文档,可能有很多、更多):

[{
  "ownerId": "XTV7I728",
  "vehicleId": "999",
  "engineId": "1",
  "engineName": "Standard Engine",
  "engineHp": 300
},
{
  "ownerId": "XTV7I728",
  "vehicleId": "999",
  "engineId": "2",
  "engineName": "Custom Engine",
  "engineHp": 450
}]

我想从本质上将多种此类json文档“非规范化”为一个json文档,如下所示:

[{
  "ownerId": "XTV7I728",
  "vehicleId": "999",
  "engines": [
    {
      "engineId": "1", 
      "engineName": "Standard Engine",
      "engineHp": 300
    },
    {
      "engineId": "2",
      "engineName": "Custom Engine",
      "engineHp": 450
    }
  ]
}]

还想添加类似的东西

[{
  "ownerId": "XTV7I728",
  "vehicleId": "999",
  "engineId": "1",
  "engineName": "Standard Engine",
  "engineHp": 300
},
{
  "ownerId": "XTV7I728",
  "vehicleId": "999",
  "engineId": "2",
  "engineName": "Custom Engine",
  "engineHp": 450
},
{
  "ownerId": "TY789021",
  "vehicleId": "999",
  "engineId": "1",
  "engineName": "Standard Engine",
  "engineHp": 300
}]

应转化为:

[{
  "ownerId": "XTV7I728",
  "vehicleId": "999",
  "engines": [
    {
      "engineId": "1", 
      "engineName": "Standard Engine",
      "engineHp": 300
    },
    {
      "engineId": "2",
      "engineName": "Custom Engine",
      "engineHp": 450
    }
  ]
},
{
  "ownerId": "TY789021",
  "vehicleId": "999",
  "engines": [
    {
      "engineId": "1", 
      "engineName": "Standard Engine",
      "engineHp": 300
    }
  ]
}]

到目前为止,我对Jolt的有限理解使我相信这种转换是可能的,但从所提供的文档中还不清楚如何进行这种转换。任何有关Jolt规范的帮助都将不胜感激!!

共有1个答案

呼延学
2023-03-14

问题是双重发布的。

在这里回答 : https://github.com/bazaarvoice/jolt/issues/359

 类似资料:
  • 非规范化数据不存储规范化的数据。换句话说非规范化意味着相同数据的多个拷贝同时存在。 上一章中,我们在帖子中非规范化评论总数,以避免每次都加载所有的评论。在数据建模意义上说这是冗余的,因为我们可以通过计数每个评论,随时计算出该总数(当不考虑运行速度)。 非规范化通常意味着额外的开发工作。在例子中,我们每次添加或删除评论时,还需要同时更新相关的帖子,以确保 commentsCount 字段保持准确。这

  • 我阅读了cassandra数据建模,除了非规范化数据可能会发生变化之外,一切都很清楚。我如何同步它?当用户电子邮件更改时,更新的方法是什么: < code>groupname是组的一部分,数据模型中的用户可能不知道任何组,因此在用户更改后无法更新电子邮件。 下面描述的解决方案是否合适? 向用户模型中添加一列(类型

  • 本文向大家介绍php解析非标准json、非规范json的方式实例,包括了php解析非标准json、非规范json的方式实例的使用技巧和注意事项,需要的朋友参考一下 前言 采集数据的时候经常碰到一些JSON数据的Key值不是字符串,下面就来看看用php如何解析非标准、非规范json 话不多说,直接上代码: 附php解析JSON数据示例代码: data.json PHP 到此这篇关于php解析非标准j

  • 我正在努力使用 JOLT 转换复杂的 json。 输入JSON: 预期输出: 我无法理解如何在基于“字段名称”的输出中访问和分配“字段值”。请帮我做一下震动测试。 注意:输入JSON中的名称、标题和公司的顺序将是混乱和随机的,这意味着在“data”数组下,第一个对象仅与“Name”相关不是强制性的。

  • 问题内容: 用例说明 我们有一个关系数据库,其中包含有关我们日常运营的数据。目的是允许用户使用全文本搜索引擎来搜索重要数据。数据经过规范化,因此不是进行全文查询的最佳形式,因此,其想法是对数据的一部分进行规范化,然后将其实时复制到Elasticsearch,这使我们能够创建快速而准确的搜索应用程序。 我们已经有了一个启用数据库操作(插入,更新,删除)事件搜索的系统。这些事件仅包含已更改的列和主键(

  • 问题内容: 我正在使用Ruby on Rails 3.0.7和MySQL5。在我的应用程序中,我有两个数据库表,即TABLE1和TABLE2,并且出于性能原因,我对TABLE2中的某些数据进行了非规范化,因此我在该表中重复了TABLE1的值。现在,在TABLE1中,我需要更新一些涉及的值,当然,我还必须在TABLE2中正确地更新非规范化的值。 我该如何以高效的方式更新这些值? 也就是说,如果TAB