我想删除json中除名为foo
之外的所有字段。我使用了转换规范,如下所示:
[
{
"operation": "remove",
"spec": {
"^(?!foo).*$": ""
}
}
]
我尝试在http://jolt-demo.appspot.com/#inception上执行此操作,但它不起作用,它输出输入json,未转换。我做错了吗?
答案 0 :(得分:2)
是的,"转移"是否支持任何"正则表达式"匹配" "以外的其他" ^(?!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"
}
}
]
将数据从输入复制到新输出,所有其他操作(默认,删除,基数等)修改输入。