问题描述
我有JSON文件,其中的元素嵌入到列表中,并具有不必要的子级别。我需要使用JOLT简化此结构,但我不知道如何做。我查看了类似的问答,但是没有找到足够相似的示例。
以下是输入内容:
{
"datasets": [{
"datasetid": "id_of_1st_dataset","Metas": {
"domain": "mydomain","records_count": 120234,"keywords": ["foo","bar"]
},"fields": [
{
"name": "1st_field_of_1st_dataset","type": "text"
},{
"name": "2nd_field_of_1st_dataset","type": "int"
}
]
},{
"datasetid": "id_of_2nd_dataset","Metas": {
"domain": "mydomain","records_count": 5402,"keywords": ["banana","bar"]
},"fields": [
{
"name": "1st_field_of_2nd_dataset","type": "text"
},{
"name": "2nd_field_of_2nd_dataset","type": "int"
}
]
}
]
}
和所需的输出:
{
"datasetid": "id_of_1st_dataset","domain": "mydomain","bar"]
"fields": [
{
"name": "1st_field_of_1st_dataset","bar"]
"fields": [
{
"name": "1st_field_of_2nd_dataset","type": "int"
}
]
}
将输入转换为输出的正确震动SPEC是什么?预先感谢您的关注和问候。
解决方法
可以通过以下规格完成
[
{
"operation": "shift","spec": {
"datasets": {
"*": {
"datasetid": "[&1].datasetid","fields": "[&1].fields","metas": {
"*": {
"@": "[&3].&"
}
}
}
}
}
}
]