我有一个如下所示的 JSON:
{
"Level1": {
"Level2": {
"val1": "Test",
"val2": "Val"
}
}
}
当我对此应用以下 Jolt shift 变换时:
[{
"operation": "shift",
"spec": {
"Level1": {
"Level2": {
"val1": "val001",
"val2": "val002"
}
}
}
}]
我得到以下结果:
{
"val001": "Test",
"val002": "Val"
}
为什么我在输出中看不到Level1、Level2?请有人帮忙,我想看到输出与输入太相似。
最佳答案
类次规范中的值通常指的是输出中键的位置,因此您需要在值中包含 Level1 和 Level2:
[{
"operation": "shift",
"spec": {
"Level1": {
"Level2": {
"val1": "Level1.Level2.val001",
"val2": "Level1.Level2.val002"
}
}
}
}]
如果 Level1 和/或 Level2 可以是任意的,您可以使用 @ 运算符“返回树”并获取值(有关示例,请参阅 Shiftr javadoc)。
关于json - 嵌套 JSON 的 JOLT 转换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49375313/