JOLT 转换 - 枢轴
JOLT Transformation - Pivot
我正在尝试转换以下内容JSON
[
{
"name": "Buy",
"List": [
{
"x": "7/8/2021",
"y": 462853
},
{
"x": "7/9/2021",
"y": 462777
},
{
"x": "7/10/2021",
"y": 462701
}
]
},
{
"name": "Statistical",
"List": [
{
"x": "7/8/2021",
"y": 462853
},
{
"x": "7/9/2021",
"y": 462777
},
{
"x": "7/10/2021",
"y": 462701
}
]
},
{
"name": "Sell",
"List": [
{
"x": "7/8/2021",
"y": 462853
},
{
"x": "7/9/2021",
"y": 462777
},
{
"x": "7/10/2021",
"y": 462701
}
]
}
]
使用 JOLT 进行更简单的操作:
[
{
"Date": "7/8/2021",
"Buy": 462853,
"Statistical": 462853,
"Sell": 462853
},
{
"Date": "7/9/2021",
"Buy": 462777,
"Statistical": 462777,
"Sell": 462777
},
{
"Date": "7/10/2021",
"Buy": 462701,
"Statistical": 462701,
"Sell": 462701
}
]
我尝试了很多 jolt 代码,但我不知道如何完成最后一部分。
我写了一些像这样的颠簸转换:
[
{
"operation": "shift",
"spec": {
"*": {
"List": {
"*": {
"@(2,name)": "[&(3)].&1.name",
"x": "[&(3)].&1.Date",
"y": "[&(3)].&1.NAV"
}
}
}
}
},
{
"operation": "shift",
"spec": {
"*": {
"*": "[]"
}
}
}
]
但我不知道如何完成最后一部分来旋转名称列。名称列的值应根据 NAV 值进行调整。
您可以在 shift 转换中通过 x
值累积 name
键的键值对,如 Date
键所表示,然后通过使用 cardinality 转换(例如
[
{
"operation": "shift",
"spec": {
"*": {
"List": {
"*": {
"x": "[&1].Date",
"y": "[&1].@(3,name)"
}
}
}
}
},
{
"operation": "cardinality",
"spec": {
"*": {
"Date": "ONE"
}
}
}
]
我正在尝试转换以下内容JSON
[
{
"name": "Buy",
"List": [
{
"x": "7/8/2021",
"y": 462853
},
{
"x": "7/9/2021",
"y": 462777
},
{
"x": "7/10/2021",
"y": 462701
}
]
},
{
"name": "Statistical",
"List": [
{
"x": "7/8/2021",
"y": 462853
},
{
"x": "7/9/2021",
"y": 462777
},
{
"x": "7/10/2021",
"y": 462701
}
]
},
{
"name": "Sell",
"List": [
{
"x": "7/8/2021",
"y": 462853
},
{
"x": "7/9/2021",
"y": 462777
},
{
"x": "7/10/2021",
"y": 462701
}
]
}
]
使用 JOLT 进行更简单的操作:
[
{
"Date": "7/8/2021",
"Buy": 462853,
"Statistical": 462853,
"Sell": 462853
},
{
"Date": "7/9/2021",
"Buy": 462777,
"Statistical": 462777,
"Sell": 462777
},
{
"Date": "7/10/2021",
"Buy": 462701,
"Statistical": 462701,
"Sell": 462701
}
]
我尝试了很多 jolt 代码,但我不知道如何完成最后一部分。 我写了一些像这样的颠簸转换:
[
{
"operation": "shift",
"spec": {
"*": {
"List": {
"*": {
"@(2,name)": "[&(3)].&1.name",
"x": "[&(3)].&1.Date",
"y": "[&(3)].&1.NAV"
}
}
}
}
},
{
"operation": "shift",
"spec": {
"*": {
"*": "[]"
}
}
}
]
但我不知道如何完成最后一部分来旋转名称列。名称列的值应根据 NAV 值进行调整。
您可以在 shift 转换中通过 x
值累积 name
键的键值对,如 Date
键所表示,然后通过使用 cardinality 转换(例如
[
{
"operation": "shift",
"spec": {
"*": {
"List": {
"*": {
"x": "[&1].Date",
"y": "[&1].@(3,name)"
}
}
}
}
},
{
"operation": "cardinality",
"spec": {
"*": {
"Date": "ONE"
}
}
}
]