【问题标题】:Pulling out only required JSON data using jolt使用 jolt 仅提取所需的 JSON 数据
【发布时间】:2019-06-08 12:23:42
【问题描述】:

我很难使用 jolt 转换我的 JSON。这是我的 JSON:

{  
   "totalPages":105,
   "firstPage":true,
   "lastPage":false,
   "numberOfElements":5,
   "number":0,
   "totalElements":524,
   "columns":{  
      "dimension":{  
         "id":"variables/evar134",
         "type":"string"
      },
      "columnIds":[  
         "0",
         "1",
         "2",
         "3",
         "5",
         "6"
      ]
   },
   "rows":[  
      {  
         "itemId":"938410065",
         "value":"1131568",
         "data":[  
            1.0,
            523.0,
            0.0,
            "NaN",
            0.0,
            1.0002442201269182
         ]
      },
      {  
         "itemId":"2011836789",
         "value":"196149",
         "data":[  
            1.0,
            523.0,
            0.0,
            "NaN",
            0.0,
            1.0002442201269182
         ]
      },
      {  
         "itemId":"1400165844",
         "value":"1258290",
         "data":[  
            1.0,
            523.0,
            0.0,
            "NaN",
            0.0,
            1.0002442201269182
         ]
      },
      {  
         "itemId":"4260137693",
         "value":"1382641",
         "data":[  
            1.0,
            523.0,
            0.0,
            "NaN",
            1.0002442201269182,
            0.0
         ]
      },
      {  
         "itemId":"4117340671",
         "value":"941349",
         "data":[  
            1.0,
            523.0,
            0.0,
            "NaN",
            1.0002442201269182,
            0.0
         ]
      }
   ],
   "summaryData":{  
      "totals":[  
         570.0,
         523.0,
         506.0,
         0.9940711462450593,
         482.6580757318888,
         35.30252394415497
      ],
      "col-max":[  
         33.0,
         523.0,
         2.0,
         1.0,
         1.0002442201269182,
         1.0002442201269182
      ],
      "col-min":[  
         1.0,
         523.0,
         1.0,
         1.0,
         1.0002442201269182,
         1.0002442201269182
      ]
   }
}

我想要做的只是提取所有“价值”数据。例如:

{
  "value":"1131568",
},
{
  "value":"196149",
}...

我在想颠簸看起来像这样,以拉出每个实例:

[
  {
    "operation": "shift",
    "spec": {
        "*": {
          "value": "value"
        }
      }
    }
]

但是,当我在 jolt validator 上尝试此操作时,它说它无效。

有人可以帮我理解如何做到这一点吗?

【问题讨论】:

    标签: json apache-nifi jolt


    【解决方案1】:
    [
      {
        "operation": "shift",
        "spec": {
          "rows": { // here I add key where nested values can be found
            "*": {
              "value": "[&1].value" // without [&1] all values will be written to the same key
            }
          }
        }
      }
    ]
    

    【讨论】:

    • 请添加一些关于如何解决问题的解释,以使答案对每个人都更有用和更容易理解。谢谢。
    • 这里可以找到很多基本的解决方案:jolt-demo.appspot.com/#inception
    猜你喜欢
    • 2018-09-09
    • 1970-01-01
    • 2023-02-05
    • 2020-05-02
    • 1970-01-01
    • 2021-08-23
    • 2019-10-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多