如何在确保结果仍然是 jsonata 中的数组的同时从数组中删除第一个元素?
How can I delete the first element from an array while assuring the result is still an array in jsonata?
我想创建一个删除数组第一个元素的 jsonata 表达式。
有一个非常简单的表达式可以做到这一点:
array1#$pos[$pos!=0]
但是当将此表达式应用于具有 2 个元素的数组时,此表达式不是 returning 仅包含第二个元素的数组,而是 returning 第二个元素可以在下面的jsonata测试中看到
https://try.jsonata.org/gl0l_wnGe
所以这不是我想要的。
我正在寻找 "new_array1"
不 return "two"
但 returns ["two"]
.
的 jsonata 表达式
这是我遇到的实际问题的简化版。实际问题是我想删除数组中具有特定索引的元素,当数组有 2 个元素时我遇到了同样的问题。
由于序列展平规则 https://docs.jsonata.org/processing#sequences,它返回 "two"
而不是 ["two"]
。在路径表达式的末尾添加一个空 []
会将序列变成一个数组。试试这个:
{
"new_array1": array1#$pos[$pos!=0][],
"new_array2": array2#$pos[$pos!=0][]
}
我想创建一个删除数组第一个元素的 jsonata 表达式。 有一个非常简单的表达式可以做到这一点:
array1#$pos[$pos!=0]
但是当将此表达式应用于具有 2 个元素的数组时,此表达式不是 returning 仅包含第二个元素的数组,而是 returning 第二个元素可以在下面的jsonata测试中看到
https://try.jsonata.org/gl0l_wnGe
所以这不是我想要的。
我正在寻找 "new_array1"
不 return "two"
但 returns ["two"]
.
这是我遇到的实际问题的简化版。实际问题是我想删除数组中具有特定索引的元素,当数组有 2 个元素时我遇到了同样的问题。
由于序列展平规则 https://docs.jsonata.org/processing#sequences,它返回 "two"
而不是 ["two"]
。在路径表达式的末尾添加一个空 []
会将序列变成一个数组。试试这个:
{
"new_array1": array1#$pos[$pos!=0][],
"new_array2": array2#$pos[$pos!=0][]
}