以下输入和预期输出所需的Jolt规范
我需要根据以下输入和预期输出所需的Jolt规范,jolt,Jolt,我需要根据id是否存在,将data列表拆分为两个独立的idExists和idNotExists列表 有人能帮助我使用Jolt规范来实现以下结果吗 输入: { “数据”:[ { “姓名”:“a”, “id”:“100” }, { “名称”:“b”, “id”:“101” }, { “名称”:“c” } ] } 输出: { “理想主义者”:[ { “姓名”:“a”, “id”:“100” }, { “名称”:“b”, “id”:“101” } ], “IdNotExists”:[ { “名称”:“
id
是否存在,将data
列表拆分为两个独立的idExists
和idNotExists
列表
有人能帮助我使用Jolt规范来实现以下结果吗
输入:
{
“数据”:[
{
“姓名”:“a”,
“id”:“100”
},
{
“名称”:“b”,
“id”:“101”
},
{
“名称”:“c”
}
]
}
输出:
{
“理想主义者”:[
{
“姓名”:“a”,
“id”:“100”
},
{
“名称”:“b”,
“id”:“101”
}
],
“IdNotExists”:[
{
“名称”:“c”
}
]
}
我已经尝试了以下规格,但它不是预期的工作
[
{
“操作”:“修改默认测试版”,
“规格”:{
“数据”:{
"": {
“id”:“NotExist”
}
}
}
},
{
“操作”:“移位”,
“规格”:{
“数据”:{
"": {
“id”:{
"10*": {
“@2”:“IdExists[]”
},
"*": {
“@2”:“IdNotExists[]”
}
}
}
}
}
}
]
我对您的规范进行了一些修改,添加了*
,因为它在选择器中缺失
将移位条件修改为NotExist,最后将仅名称移位为IdNotExists数组
[
{
"operation": "modify-default-beta",
"spec": {
"data": {
"*": {
"id": "NotExist"
}
}
}
},
{
"operation": "shift",
"spec": {
"data": {
"*": {
"id": {
"NotExist": {
"@(2,name)": "IdNotExists[].name"
},
"*": {
"@2": "IdExists[]"
}
}
}
}
}
}
]
你要求从A到Z解决你的问题。你应该首先尝试,并且只询问你遇到的具体问题。另外,请对您的介绍性文本使用正常格式。我已经尝试过,但没有得到预期的输出[{“操作”:“修改默认测试版”,“规范”:{“数据”:{“:{“id”:“NotExist”}}},{“操作”:“移位”,“规范”:{“数据”:{“:{”id”:{“10*”:{“@2”:“IdExists[]”},“*”:{“@2”:“IdNotExists[]“}}}}}}]但是使用上面的Jolt规范。我们不会得到以下输出{“IdExists”:[{“name”:“a”,“id”:“100”},{“name”:“b”}],“IdNotExists”:[{“name”:“c”}]}因为我不知道如何过滤,所以我添加了。但是我不需要在响应中添加的默认值。“id”:“NOTEXIST”我试图理解,在IdExists中,为什么名称中缺少id:b.NOTEXIST是一个临时值,用于标识缺少的id值。它在shift规范
“id”中被删除:{“NOTEXIST”:{(2,name)”:“IdNotExists[].name”},*:{@2:“IdExists[]”}
用于IdNotExists条件