Jolt技术问询:如何基于值生成动态键并更新键名
如何在Jolt中基于值生成动态键?
输入JSON示例
{ "Rating": 1, "SecondaryRatings": { "Design": 4, "Price": 2, "RatingDimension3": 1 } }
预期输出
{ "rating-primary-1" : 1, "rating-Design-4" : 4, "rating-Price-2" : 2, "rating-RatingDimension3-1" : 1 }
当前使用的Jolt Spec
[ { "operation": "shift", "spec": { "Rating": "rating-primary", "SecondaryRatings": { "*": "rating-&" } } } ]
解决方案
要生成包含字段值的动态键,需要在Jolt的shift操作中通过@符号引用当前字段的值,结合字段名拼接目标键。调整后的Spec如下:
[ { "operation": "shift", "spec": { "Rating": "rating-primary-@", "SecondaryRatings": { "*": "rating-&-@" } } } ]
说明
- 对于
Rating字段:@会被替换为该字段的实际值(即1),最终生成键rating-primary-1,值保留原字段的1; - 对于
SecondaryRatings下的子字段:&代表当前子字段的键名(如Design、Price),@代表对应的值,两者与前缀rating-拼接后,生成rating-Design-4这类动态键,值同步原字段的值。
内容的提问来源于stack exchange,提问作者Ketan Bhavsar
相关产品推荐
相关产品推荐

