You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Jolt表达式中过滤articleActiveSeason与modelActiveSeason不等的记录?

问题:Jolt能否过滤articleActiveSeason与modelActiveSeason不等的记录?

现有JSON输入数据:

[
  {"eventTime" : "2024-01-17T15:10:06.858","groupArticleNumber" : "FT6559","groupModelNumber" : "FRX88","productDescriptionEN" : "ESTRO 19 JSYY","subBrand" : "1","brand" : "11","businessSegment" : "104","modelActiveSeason" : "20251","salesLine" : "L84","productDescEN" : "ESTRO 19 JSYY","colorwayShortDescEN" : "TMLGBL/WHITE","keyCategory" : "00095","ageGroup" : "J","gender" : "M","genderAge" : "16","genderAgeMain" : "Kids","articleLifeCycle" : "50","sizePage" : "J4","articleCreationSeason" : "20201","articleActiveSeason" : "20242","rmhProductDivision" : "2","rmhProductType" : "30","rmhCategory" : "09","retailClass" : "12309","retailSubClass" : "1230930","retailDepartment" : "12","retailSubDepartment" : "123","materialComposition" : "100% PET-REC","mainMaterialFlag" : true,"sourcingSizeCode3" : "190"},
  {"eventTime" : "2024-01-17T15:10:06.858","groupArticleNumber" : "FT6559","groupModelNumber" : "FRX88","productDescriptionEN" : "ESTRO 19 JSYY","subBrand" : "1","brand" : "11","businessSegment" : "104","modelActiveSeason" : "20251","salesLine" : "L84","productDescEN" : "ESTRO 19 JSYY","colorwayShortDescEN" : "TMLGBL/WHITE","keyCategory" : "00095","ageGroup" : "J","gender" : "M","genderAge" : "16","genderAgeMain" : "Kids","articleLifeCycle" : "50","sizePage" : "J4","articleCreationSeason" : "20201","articleActiveSeason" : "20242","rmhProductDivision" : "2","rmhProductType" : "30","rmhCategory" : "09","retailClass" : "12309","retailSubClass" : "1230930","retailDepartment" : "12","retailSubDepartment" : "123","materialComposition" : "100% PET-DAT","mainMaterialFlag" : false,"sourcingSizeCode3" : "190"},
  {"eventTime" : "2024-01-17T15:10:06.858","groupArticleNumber" : "FT6559","groupModelNumber" : "FRX88","productDescriptionEN" : "ESTRO 19 JSYY","subBrand" : "1","brand" : "11","businessSegment" : "104","modelActiveSeason" : "20251","salesLine" : "L84","productDescEN" : "ESTRO 19 JSYY","colorwayShortDescEN" : "TMLGBL/WHITE","keyCategory" : "00095","ageGroup" : "J","gender" : "M","genderAge" : "16","genderAgeMain" : "Kids","articleLifeCycle" : "50","sizePage" : "J4","articleCreationSeason" : "20201","articleActiveSeason" : "20242","rmhProductDivision" : "2","rmhProductType" : "30","rmhCategory" : "09","retailClass" : "12309","retailSubClass" : "1230930","retailDepartment" : "12","retailSubDepartment" : "123","materialComposition" : "100% PET-REC","mainMaterialFlag" : true,"sourcingSizeCode3" : "180"},
  {"eventTime" : "2024-01-17T15:10:06.858","groupArticleNumber" : "FT6559","groupModelNumber" : "FRX88","productDescriptionEN" : "ESTRO 19 JSYY","subBrand" : "1","brand" : "11","businessSegment" : "104","modelActiveSeason" : "20251","salesLine" : "L84","productDescEN" : "ESTRO 19 JSYY","colorwayShortDescEN" : "TMLGBL/WHITE","keyCategory" : "00095","ageGroup" : "J","gender" : "M","genderAge" : "16","genderAgeMain" : "Kids","articleLifeCycle" : "50","sizePage" : "J4","articleCreationSeason" : "20201","articleActiveSeason" : "20242","rmhProductDivision" : "2","rmhProductType" : "30","rmhCategory" : "09","retailClass" : "12309","retailSubClass" : "1230930","retailDepartment" : "12","retailSubDepartment" : "123","materialComposition" : "100% PET-DAT","mainMaterialFlag" : false,"sourcingSizeCode3" : "180"}
]

需求:过滤所有articleActiveSeason字段值不等于modelActiveSeason字段值的记录,能否直接用Jolt表达式实现?


回答

可以直接通过Jolt实现该过滤逻辑,无需额外处理。以下是对应的Jolt转换规范:

[
  {
    "operation": "shift",
    "spec": {
      "*": {
        "${articleActiveSeason}:${modelActiveSeason}": {
          "@(2)": "[&1]"
        }
      }
    }
  }
]

逻辑说明

  • 遍历输入数组中的每个元素("*")
  • 通过${articleActiveSeason}:${modelActiveSeason}进行条件匹配:只有当两个字段值相等时,这个键才会匹配成功
  • 匹配成功的元素,通过@(2)引用当前完整元素,将其保留到输出数组的对应位置([&1])
  • 不满足条件的元素会被自动丢弃,不会出现在输出结果中

针对提供的输入数据,所有记录的articleActiveSeason(值为20242)均不等于modelActiveSeason(值为20251),因此最终输出结果为空数组:[]


内容的提问来源于stack exchange,提问作者jitendra rawat

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 12:43:17