我已经创建了一个规范来转换JSON输入
{
"rows": [
{
"row": [
"row1",
"row2",
"row3"
],
"header": [
"header1",
"header2",
"header3"
]
},
{
"row": [
"row4",
"row5",
"row6"
],
"header": [
"header4",
"header5",
"header6"
]
}
]
}
转换为键值对,作为以下对象结果:
{
"header1" : "row1",
"header2" : "row2",
"header3" : "row3",
"header4" : "row4",
"header5" : "row5",
"header6" : "row6"
}
这可以用Jolt实现吗?
2条答案
按热度按时间webghufk1#
在你的输入中有复制/粘贴错误吗?根据你想要的输出判断,第二个对象的
header
数组应该是["header4", "header5", "header6"]
。如果是这样的话,这个规范应该可以工作:fnx2tebb2#
一个选项是使用以下shift转换规范:
其中
"*s": {
代表行s"&(1,1)": {
-〉不是直接( 第零 * 个)级别,而是使用*&(1,
向上一级,并获取&(..,1)
存在的第一个星号处的值*
"@": "@(3,header[&1])"
-〉3
右侧所述的级别也遍历冒号,以便到达用于表示"row"
数组的级别&(1,1)
,以及&1
表示,以便在树中向上一级到达数组"row"
的索引,同时与 * 的值匹配"row"
通过使用左手的@
*站点http://jolt-demo.appspot.com/上的***演示***为: