当前位置: 首页 > 知识库问答 >
问题:

Jolt Json转换:使用属性值过滤键

严誉
2023-03-14

我正在尝试使用 Jolt 转换来转换 Json,在这里寻找一些输入。我正在尝试过滤一个键,该键是另一个属性的值。这是我的输入和预期输出

{
    "pid": "p1@gmail.com",
    "eventType": "new",
    "details": {   
        "participants": {
            "automationqaus@gmail.com": {
                "id": "automationqaus@gmail.com",
                "type": "Customer"
            },
            "p1@gmail.com": {           
                "id": "p1@gmail.com",               
                "name": "participantAgent1",
                "joinTime": 1617634021103, 
                "type":"Agent"              
               
            },
            "p2@gmail.com": {           
                "id": "p2@gmail.com",                
                "name": "participantAgent1",
                "joinTime": 1617634022303,
                "type":"Agent"
                
            }
        }        
    },
    "interactionId": "c5804d49-961d-11eb-9650-7fb32f44d8a5"  
}

我看到的输出是

{
    "pid": "p1@gmail.com",      
    "name": "participantAgent1",
    "joinTime": 1617634021103,
    "type":"Agent"
}

我试过的规格是

[
  {
    "operation": "shift",
    "spec": {
      "participants": {
        "@(2,pid)": {
          "@(3,pid)": "pid",
          "pType": "type",
          "name": "name",
          "joinTime":"joinTime"
        }
      }
    }
  }
]

但是我没有得到预期的输出。我也尝试了一些其他组合,但未能获得正确的输出。有人能帮忙吗?

共有1个答案

杜志
2023-03-14
[ // converting the matching value as the key to the value of the details.
  {
    "operation": "shift",
    "spec": {
      "details": "@(1,pid)"
    }
  },
  {
    "operation": "shift",
    "spec": {
      "*": {
        "participants": {
            "&1": { // matching with the target converted key
            "id": "pid",
            "type": "type",
            "name": "name",
            "joinTime": "joinTime"
          }
        }
      }
    }
  }
]
 类似资料:
  • 问题内容: 我有一个 我想过滤并仅保留值包含已知对的条目,比方说(’mike’=>’jordan’),并避免如下所示的循环 我所包含的库中是否有apache.commons和google.common的filter方法(也可能会执行循环,但至少不那么冗长 问题答案: 您可以使用来自Guava和界面的过滤器。 因此,简单的示例将是:

  • 我正在尝试使用Jolt transformation转换一个JSON,在这里寻找一些输入。我正在尝试根据属性值进行过滤。 我的目标是获得一个数组,其中只包含动作为“remove”的项目。 这是我的输入和预期输出: 输入: 预期产出: 你能帮我写一个简单的规范吗?

  • 我正在尝试使用Jolt transformation转换一个JSON,在这里寻找一些输入。我试图通过属性的内部值进行过滤。 我的目标是得到一个数组,它只包含类型为“xx”的项目。但不是所有的项目对象,只有一些字段 这是我的输入和预期输出: 输入: 预期产出: 你能帮我写一个简单的规范吗?

  • 我正在尝试使用Jolt transformation转换一个JSON,在这里寻找一些输入。我试图通过属性的内部值进行过滤。 我的目标是获得一个只包含类型名为' xx '的项目的数组。 这是我的输入和预期输出: 输入: 预期产出: 你能帮我写一个简单的规范吗?

  • 我需要使用JOLT将下面的输入JSON转换成下面列出的格式。链接是通过第一个数组元素的deps.name与第二个数组元素的spec.name来完成的。我对链接一无所知。谢谢你的帮助。 输入json 预期的输出格式

  • 问题内容: 我有一个使用SA的 association_proxy 建模 的多对多 (开发人员和项目)关系。集合(每个项目的开发人员和每个开发人员的项目)工作正常,但我需要过滤关联本身的属性(状态)。像这样的东西(不起作用): __ 我想念什么?这是完整的测试代码: 问题答案: 关联代理的使用方法: