JOLT 从多个同名数组中只获取一个数组
JOLT get only one array out of multiple arrays with the same name
你好,我有一个 JSON 嵌套数组,它有不同的 ID 和值,我只想要 first_id 和它的值,但我不确定如何,我只知道如何获得所有ID。见下文
我的JSON
{
"rootid": "19718",
"ids": [
{
"id": "first_id",
"field2": "source",
"value": "root_value"
},
{
"id": "second_id",
"field2": "source2",
"value": "second_value"
},
{
"id": "third_id",
"field2": "source2",
"value": "third_value"
}
]
}
我的规格
[
{
"operation": "shift",
"spec": {
"*": "&",
"ids": {
"*": {
"@value": "@id"
}
}
}
}
]
我得到的结果:
{
"rootid" : "19718",
"first_id" : "root_value",
"second_id" : "second_value",
"third_id" : "third_value"
}
我想得到的结果:
{
"rootid" : "19718",
"first_id" : "root_value",
}
您可以使用 "@ids[0]": "ids"
选择数组的第一个对象以确定索引为零的元素,然后添加另一个 shift 转换类似于当前方法如
[
{
"operation": "shift",
"spec": {
"rootid": "&",
"@ids[0]": "ids"
}
},
{
"operation": "shift",
"spec": {
"rootid": "&",
"ids": {
"@value": "@id"
}
}
}
]
你好,我有一个 JSON 嵌套数组,它有不同的 ID 和值,我只想要 first_id 和它的值,但我不确定如何,我只知道如何获得所有ID。见下文
我的JSON
{
"rootid": "19718",
"ids": [
{
"id": "first_id",
"field2": "source",
"value": "root_value"
},
{
"id": "second_id",
"field2": "source2",
"value": "second_value"
},
{
"id": "third_id",
"field2": "source2",
"value": "third_value"
}
]
}
我的规格
[
{
"operation": "shift",
"spec": {
"*": "&",
"ids": {
"*": {
"@value": "@id"
}
}
}
}
]
我得到的结果:
{
"rootid" : "19718",
"first_id" : "root_value",
"second_id" : "second_value",
"third_id" : "third_value"
}
我想得到的结果:
{
"rootid" : "19718",
"first_id" : "root_value",
}
您可以使用 "@ids[0]": "ids"
选择数组的第一个对象以确定索引为零的元素,然后添加另一个 shift 转换类似于当前方法如
[
{
"operation": "shift",
"spec": {
"rootid": "&",
"@ids[0]": "ids"
}
},
{
"operation": "shift",
"spec": {
"rootid": "&",
"ids": {
"@value": "@id"
}
}
}
]