输入JSON:
[
{
"e": "id1",
"c": [
{
"title": "title1",
"enable": false
}
]
},
{
"e": "id2",
"c": [
{
"title": "title2",
"enable": true
}
]
}
]
我希望在与c相同的级别创建名为Filted的新属性,该属性包含来自c且Enable属性未设置为False的任何项.因此,预期yields 是
[
{
"e": "id1",
"c": [
{
"title": "title1",
"enable": false
}
],
"filtered": []
},
{
"e": "id2",
"c": [
{
"title": "title2",
"enable": true
}
],
"filtered": [
{
"title": "title2",
"enable": true
}
]
}
]
我正在使用以下规格
[
{
"operation": "shift",
"spec": {
"@": "&"
}
},
{
"operation": "modify-default-beta",
"spec": {
"root": {
"*": {
"c": {
"*": {
"enable": true
}
}
}
}
}
},
{
"operation": "shift",
"spec": {
"root": {
"*": {
"c": {
"*": {
"enable": {
"true": {
"@2": "[&5].filtered[]"
}
}
}
},
"@": ""
}
}
}
}
]
但它完全跳过顶层的第一个元素并生成如下输出
[
{
"e": "id1",
"c": [
{
"title": "title1",
"enable": true
}
]
},
{
"e": "id2",
"c": [
{
"title": "title2",
"enable": true
}
],
"filtered": [
{
"title": "title2",
"enable": true
}
]
}
]
将感谢任何帮助,以正确的规格.
对于每个有效的输入,SPEC似乎完全跳过了顶层的第一个元素