我想从 json 中删除除名为foo
. 我使用了如下所示的转换规范:
[
{
"operation": "remove",
"spec": {
"^(?!foo).*$": ""
}
}
]
我尝试在http://jolt-demo.appspot.com/#inception上执行此操作,但它不起作用,它输出未转换的输入 json。难道我做错了什么?
我想从 json 中删除除名为foo
. 我使用了如下所示的转换规范:
[
{
"operation": "remove",
"spec": {
"^(?!foo).*$": ""
}
}
]
我尝试在http://jolt-demo.appspot.com/#inception上执行此操作,但它不起作用,它输出未转换的输入 json。难道我做错了什么?
是的,“shift”确实支持“”以外的任何“正则表达式”匹配,所以“^(?!foo). $”不起作用。
我认为您最好使用“shift”来匹配“foo”并将其复制到输出中。任何与“shift”规范不匹配的内容都不会被复制到输出中。
规格
[
{
"operation": "shift",
"spec": {
// matches top level key "foo" in the intput, and copies the
// value at that location to the output map with key "foo".
"foo" : "foo"
}
}
]
Shift 将数据从输入复制到新的输出,所有其他操作(默认、删除、基数等)都会修改输入。