如果元素是固定键的值,我试图删除该数组元素。 输入:
{
"components": {
"schemas": {
"element1": {
"type": "string",
"remove_element_from_values": ["value_3"],
"enum": [
"value_1",
"value_2",
"value_3",
"value_4",
"value_5"
],
"example": "example of element1"
},
"element2": {
"type": "string",
"remove_element_from_values": ["value_1", "value_5"],
"values": [
"value_1",
"value_2",
"value_3",
"value_4",
"value_5"
],
"example": "example of element2"
}
}
}
}
我需要一个 jolt 规范,它将查看“remove_element_from_values”字段,并根据那里的输入数组,它将从值数组元素中删除值,并从最终输出中删除“remove_element_from_values”。
预期输出:
{
"components": {
"schemas": {
"element1": {
"type": "string",
"enum": [
"value_1",
"value_2",
"value_4",
"value_5"
],
"example": "example of element1"
},
"element2": {
"type": "string",
"enum": [
"value_2",
"value_3",
"value_4"
],
"example": "example of element2"
}
}
}
}
任何帮助将不胜感激。我现在正在尝试为此获取一个工作规范。
我尝试查看 jolt space 中几乎所有不同的 wiki/问题,但无法找到我的解决方案。
您可以使用以下shift转换规范
[
{
"operation": "shift",
"spec": {
"*": {
"*": {
"*": {
"*alues|enum": {
"*": {
"$": "&5.&4.&3.enum.@0"
}
},
"type|example": "&3.&2.&1.&"
}
}
}
}
},
{
"operation": "shift",
"spec": {
"*": {
"*": {
"*": {
"enum": {
"*": {
"$": "&5.&4.&3.&2.@0"
}
},
"t*|e*": "&3.&2.&1.&"
}
}
}
}
},
{
"operation": "shift",
"spec": {
"*": {
"*": {
"*": {
"enum": {
"*": {
"@": "&5.&4.&3.&2"
}
},
"*": "&3.&2.&1.&"
}
}
}
}
}
]
第一个规范中匹配值生成数组,在第二个规范中键值交换后它们将消失
网站上的 演示 http://jolt-demo.appspot.com/ 是: