已关闭。此问题需要details or clarity。目前不接受回答。
**要改进此问题吗?**通过editing this post添加详细信息并阐明问题。
18天前关门了。
Improve this question的
我想写一个jolt transform,如果类型是Polygon,它将坐标的值放入一个数组“coordinates”,如果类型是Point,它将坐标的值放入属性“x”,“y”,“z”。我想我已经接近我目前的规范了,但是除了在&之后尝试不同的值之外,我不确定。
输入Json1
{
"features": [
{
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
11.1,
111.1
],
[
22.2,
222.2
],
[
33.3,
333.3
]
]
]
}
}
]
}
字符串
输入Json2
{
"features": [
{
"geometry": {
"type": "Point",
"coordinates": [
1.1,
2.2,
3.3
]
}
}
]
}
型
Spec
[
{
"operation": "shift",
"spec": {
"features": {
"*": {
"geometry": {
"type": {
"Polygon": {
"coordinates": {
"*": "[&4].coordinates"
}
},
"Point": {
"coordinates": {
"0": "[&4].x",
"1": "[&4].y",
"2": "[&4].z"
}
}
}
}
}
}
}
}
]
型
预期输出:点
[ {
"x" : 1.1,
"y" : 2.2,
"z" : 3.3
} ]
型
预期输出:多边形
[ {
"coordinates" : [ [ 11.1, 111.1 ], [ 22.2, 222.2 ], [ 33.3, 333.3 ] ]
} ]
型
我尝试了上面的规范,并期望得到显示坐标或x,y,z的对象的输出。当我将[&3]
替换为[&3]
并删除条件 shell 时,我能够让它单独工作每种情况,但有了它,我知道有一些我没有正确处理的级别的复杂性。
1条答案
按热度按时间mepcadol1#
你需要在类型键值后面引用坐标的值,它是2 level up @(2,coordinates):
字符串