Azure Data Factory中如何修改嵌套数组内的子列名称
解决Azure Data Factory中嵌套JSON数组属性重命名问题
核心解决方案:使用map()函数遍历数组修改元素结构
你之前的表达式错误在于直接提取数组字段(models.name),会把所有元素的对应值合并成数组,而非逐个元素修改属性名。正确做法是用map()函数遍历models数组的每个元素,单独重构对象:
重命名顶层字段
brand为carBrand
在派生列活动中添加表达式:carBrand = brand之后可选择删除原
brand列。修改嵌套数组
models的内部属性名
在派生列活动中对models列设置表达式:models = map(models, (item) => @(modelName = item.name, marketingYear = item.year))map()函数会迭代models数组中的每一个元素(用item指代当前元素)- 对每个
item,用@()构造新对象,将原name映射为modelName,原year映射为marketingYear - 最终输出保持数组结构,每个元素都是修改后的对象
验证结果
执行后生成的JSON结构将与你的预期一致:
[ { "carBrand": "Toyota", "models": [ { "modelName": "Corolla", "marketingYear": 2020 }, { "modelName": "Yaris", "marketingYear": 2021 } ] }, { "carBrand": "BMW", "models": [ { "modelName": "X5", "marketingYear": 2020 }, { "modelName": "X6", "marketingYear": 2023 } ] } ]
内容的提问来源于stack exchange,提问作者c ccj
相关产品推荐
相关产品推荐

