【问题标题】:Jolt transforming to array颠簸转换为数组
【发布时间】:2018-05-11 13:43:25
【问题描述】:

我的输出 json 为空。请在下面找到我的规格和详细信息。输入 json 可以有 n 个 COMPINFO 。请建议

我的 input.json 是

{
    "valid": "true",
    "message": "",
    "data": {
        "COMPINFO": [
            {
                "ORGID": "",
                "SITEID": "BWDEMO",
                "COMPID": "C2014",
                "COMP_DESC": "Cherokee High School",
                "ASSETTYPE": "MANUFACTURING",
                "BUILDING": "Main",
                "FLR_LEVEL": "Ground",
                "ROOM_SPCE": "100"
            },
            {
                "ORGID": "",
                "SITEID": "BWDEMO",
                "COMPID": "9001B",
                "COMP_DESC": "Sludge Pump",
                "ASSETTYPE": "FACILITY",
                "BUILDING": "Main",
                "FLR_LEVEL": "Production",
                "ROOM_SPCE": "100"  
            } 
        ]
    }
}

我的 Spec.json 是

[
  {
    "operation": "shift",
    "spec": {
      "data": {
        "COMPINFO": {
          "*": {
            "COMPID": "[&1].COMPID",
            "ORGID": "[&1].ORGID",
            "COMP_DESC": "[&1].DESCRIPTION",
            "BUILDING": "[&1].LOCATIONS.[&1].Building",
            "FLR_LEVEL": "[&1].LOCATIONS.[&1].Floor_Level",
            "ROOM_SPCE": "[&1].LOCATIONS.[&1].ROOM_SPCE",
            "SITEID": "[&1].SITEID",
            "ASSETTYPE": "[&1].ASSETTYPE"
          }
        }
      }
    }
  }
]

预期的输出应该是:

    [ 
     {
      "COMPID" : "C2014",
      "ORGID" : "",
      "DESCRIPTION" : "Cherokee High School",
      "LOCATIONS" : [ {
        "Building" : "Main",
        "Floor_Level" : "Ground",
        "ROOM_SPCE" : "100"
      } ],
      "SITEID" : "BWDEMO",
      "ASSETTYPE" : "MANUFACTURING"
    }, {
      "COMPID" : "9001B",
      "ORGID" : "",
      "DESCRIPTION" : "Sludge Pump",
      "LOCATIONS" : [{
        "Building" : "Main",
        "Floor_Level" : "Production",
        "ROOM_SPCE" : "100"
      } ],
      "SITEID" : "BWDEMO",
      "ASSETTYPE" : "FACILITY"
    } 
]

但为空(突出显示(粗体)):

[ 
{
  "COMPID" : "C2014",
  "ORGID" : "",
  "DESCRIPTION" : "Cherokee High School",
  "LOCATIONS" : [ {
    "Building" : "Main",
    "Floor_Level" : "Ground",
    "ROOM_SPCE" : "100"
  } ],
  "SITEID" : "BWDEMO",
  "ASSETTYPE" : "MANUFACTURING"
}, {
  "COMPID" : "9001B",
  "ORGID" : "",
  "DESCRIPTION" : "Sludge Pump",
  "LOCATIONS" : [ null, {
    "Building" : "Main",
    "Floor_Level" : "Production",
    "ROOM_SPCE" : "100"
  } ],
  "SITEID" : "BWDEMO",
  "ASSETTYPE" : "FACILITY"
} 
]

有人可以快速帮忙吗??

提前致谢.sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss

【问题讨论】:

    标签: json jolt


    【解决方案1】:

    您似乎每个输入项只有一个“位置”,并且您只是希望它们始终是位置数组中的第一个元素。

    如果是这样,那很容易。如果您想要“分组”您的数据并且让一些位置数组有多个项目,那么这是一个更难的转换。

    简单版本的规格

    [
      {
        "operation": "shift",
        "spec": {
          "data": {
            "COMPINFO": {
              "*": {
                "COMPID": "[&1].COMPID",
                "ORGID": "[&1].ORGID",
                "COMP_DESC": "[&1].DESCRIPTION",
                "BUILDING": "[&1].LOCATIONS[0].Building",
                "FLR_LEVEL": "[&1].LOCATIONS[0].Floor_Level",
                "ROOM_SPCE": "[&1].LOCATIONS[0].ROOM_SPCE",
                "SITEID": "[&1].SITEID",
                "ASSETTYPE": "[&1].ASSETTYPE"
              }
            }
          }
        }
      }
    ]
    

    有一些较难版本的例子。

    【讨论】:

      猜你喜欢
      • 2019-02-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-08
      相关资源
      最近更新 更多