【问题标题】:use jolt transform and convert flat json to complicated nested json array使用 jolt 变换并将平面 json 转换为复杂的嵌套 json 数组
【发布时间】:2019-02-09 02:21:59
【问题描述】:

我有一个关于使用 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 规范,但没有得到想要的输出

    [
      {
        "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"
     }
     ]
    }

任何一位 jolt 专家都可以帮助我获得所需的输出。我应该在 jolt 中使用多个转换,还是可以在一个 jolt 转换器中获得所需的输出?

【问题讨论】:

    标签: arrays json multidimensional-array jolt


    【解决方案1】:

    使用[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"
        }
      }
    ]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-01-17
      • 1970-01-01
      • 1970-01-01
      • 2022-11-29
      • 2021-09-26
      • 1970-01-01
      • 2017-11-22
      • 1970-01-01
      相关资源
      最近更新 更多