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

使用 Jolt 转换并将平面 JSON 转换为复杂的嵌套 JSON 数组

曾光誉
2023-03-14

我有一个关于使用jolt将平面json转换成嵌套json的问题。我对jolt很陌生,这是我的意见

{
 "id": "LIKKI MOSORU",
 "aff_id": "WOOD",
 "aff_name": "WOOD-LOVE",
 "aff_desc": "WOOD INC.",
 "aff_corrltn_name": "MARVEL MEMBERSHIP",         
 "aff_corrltn_id": "8999938",
 "affil_trans_id": "222222",
 "misc_aff_dtl_name": "MBR-FIRST-NAME",
 "misc_aff_dtl_value" :"KKKKKLYYYY",
 "oper_id": "AP",
 "create_timestamp":"2018-10-16-04:00",
 "update_timestamp": "2018-10-17-04:00",
 "active_rcrd": "Y"
 }

我编写了jolt spec,但我没有得到想要的输出

    [
      {
        "operation": "shift",
        "spec": {
          "misc_aff_dtl_*": "misc_aff_dtl.&(0,1)",
          "aff_corrltn_*": "aff_corrltn.&(0,0)",
          "aff_*": "aff.&(0,0)",
          "rewards_id": "rewards_id",
          "oper_id": "oper_id",
          "create_timestamp": "create_timestamp",
          "update_timestamp": "update_timestamp",
          "active_rcrd": "active_rcrd"
        }
    }
    ]

我的预期产出是:

    {
    "rewards_id": "Jeannine Rosario",
    "aff": [
        {        
    "aff_id": "WOOD",
    "aff_name": "WOOD-LOVE",
    "aff_desc": "WOOD INC.",
    "aff_corrltn": [
    {        
        "aff_corrltn_name": "MARVEL MEMBERSHIP",         
        "aff_corrltn_id": "8999938",
        "affil_trans_id": "222222",
        "misc_aff_dtl": [        
            {  
                "name":"MBR-FIRST-NAME",
                "value":"DANJALKSA"
            }
          ] 
    }           
    ],
     "oper_id": "AP",
     "create_timestamp":"2018-10-16-04:00",
     "update_timestamp": "2018-10-17-04:00",
     "active_rcrd": "Y"
     }
     ]
    }

任何震动专家都可以帮助我获得所需的输出。我应该在颠簸中使用多个变换,还是可以在一个震动变压器中获得所需的输出?

共有1个答案

高嘉树
2023-03-14

使用[0]添加数组将产生预期效果:

[
  {
    "operation": "shift",
    "spec": {
      "rewards_id": "rewards_id",
      "aff_*": "aff.[0].&(0,0)",
      "misc_aff_dtl_*": "aff.[0].aff_corrltn.[0].misc_aff_dtl.[0].&(0,1)",
      "aff_corrltn_*": "aff.[0].aff_corrltn.[0].&(0,0)",
      "affil_trans_id": "aff.[0].aff_corrltn.[0].&",
      "oper_id": "aff.[0].oper_id",
      "create_timestamp": "aff.[0].create_timestamp",
      "update_timestamp": "aff.[0].update_timestamp",
      "active_rcrd": "aff.[0].active_rcrd"
    }
  }
]
 类似资料:
  • 输入 json : 预期输出: 我想有一个颠簸转换,它可以嵌套很少的田地。

  • 我希望Jolt将一个复杂的json转换为下面所需的json。 输入JSON: 输出量的希望值 我试过遵循Jolt Spec 但得到了以下输出 因此,正如所见,除了最后一个级别值之外,所有其他值都具有具有重复值的数组。任何人都可以帮助解决 Jolt 规范中缺失或错误的地方吗?

  • 所以目前我看到的是这样的: 这是我目前编写的Jolt规范(编辑): 以及转换后的输出: 任何帮助都是非常感谢的。

  • 我遇到了一个问题,使用颠簸转换将平面 JSON 转换为嵌套 JSON。而且我对颠簸转型很陌生。输入和输出详细信息如下。 我的输入: 预期产量

  • 我试图根据第二个嵌套数组中的值的数量将嵌套数组转换为对象。我似乎无法获取值字段的数量并将其用作规范中的键。现在这是我的输入JSON文件: 这是我想要的JSON输出: 这是我目前的规格 有人有类似的情况吗?

  • 我试图写一个规范来使用jolt转换完成下面的转换。我需要将平面JSON转换成嵌套JSON。 输入数据: 我在将平面JSON转换为嵌套JSON时遇到了一些问题。这里,我希望基于stoptype属性聚合数据,并且需要针对唯一的有效负载进行聚合。我用https://jolt-demo.appspot.com来测试以下内容。 输出: 你能帮我完成这个预期的输出吗?