我正在尝试编写一个Jolt转换规范,将嵌套的JSON转换为带行的平面JSON。我们的目标是创建一个可以同时处理输入数据1和输入数据2的规范。
输入数据1
{
"Id": "123",
"Name": "tets",
"records": [
{
"aaa": "123",
"test": [
{
"zzz": 987,
"yyy": 123
},
{
"zzz": 345,
"yyy": 678
}
]
}
]
}
输入数据2
[
{
"Id": "123",
"Name": "tets",
"records": [
{
"aaa": "123",
"test": [
{
"zzz": 987,
"yyy": 123
},
{
"zzz": 345,
"yyy": 678
}
]
}
]
},
{
"Id": "1234",
"Name": "tets2",
"records": [
{
"aaa": "123",
"test": [
{
"zzz": 987,
"yyy": 123
},
{
"zzz": 345,
"yyy": 678
}
]
},
{
"aaa": "12345",
"test": [
{
"zzz": 456,
"yyy": 567
}
]
}
]
}
]
我要输入1的输出
[
{
"Id": "123",
"Name": "tets",
"records.aaa": "123",
"records.test.zzz": 987,
"records.test.yyy": 123
},
{
"Id": "123",
"Name": "tets",
"records.aaa": "123",
"records.test.zzz": 345,
"records.test.yyy": 678
}
]
而对于输入2,输出应采用以下格式
[
{
"Id": "123",
"Name": "tets",
"records.aaa": "123",
"records.test.zzz": 987,
"records.test.yyy": 123
},
{
"Id": "123",
"Name": "tets",
"records.aaa": "123",
"records.test.zzz": 345,
"records.test.yyy": 678
},
{
"Id": "1234",
"Name": "tets2",
"records.aaa": "123",
"records.test.zzz": 987,
"records.test.yyy": 123
},
{
"Id": "1234",
"Name": "tets2",
"records.aaa": "123",
"records.test.zzz": 345,
"records.test.yyy": 678
},
{
"Id": "1234",
"Name": "tets2",
"records.aaa": "12345",
"records.test.zzz": 456,
"records.test.yyy": 567
}
]
2条答案
按热度按时间mwkjh3gx1#
您可以使用此规范:
**注意:**如果你有更多的嵌套值,你应该确定它们的数量,然后JOLT可以帮助你实现你想要的输出。否则,您可以使用其他工具或库找到另一种方法。
tzcvj98z2#
您可以使用以下规范