我在Azure Data Factory中格式化JSON输出时遇到问题.我想要的JSON输出 struct 如下:
{
"AccessionNum": "12345",
"test": [
{
"orderunit": "JMJ",
"Testname": "TVK"
},
{
"orderunit": "PJ",
"Testname": "CVK"
}
]
}
然而,在Azure Data Factory中从CSV输入文件执行所有必要的操作后,结果JSON输出如下所示,其中"测试"数组元素被视为字符串,而不是JSON对象:
{
"AccessionNum": "12345",
"test": [
"{\"orderunit\":\"JMJ\",\"Testname\":\"TVK\"}",
"{\"orderunit\":\"PJ\",\"Testname\":\"CVK\"}"
]
}
我try 了Azure Data Factory中的各种表达式和转换,但我还没能实现所需的JSON struct ,其中的"测试"数组元素是合适的JSON对象.有人能帮助我解决这个问题并在Azure Data Factory中实现正确的JSON输出格式吗?
提前感谢您的帮助!
为了解决Azure Data Factory中JSON输出的格式化问题,我在数据流管道中try 了几种方法:
Derived Column Transformation:最初,我try 使用Azure数据工厂中的"派生列"转换来创建带有适当JSON对象的"测试"array.我使用了这样的表达方式
concat('{"orderunit":"',orderunit,'","Testname":"',testname,'"}')
以生成array.然而,这导致"测试"数组元素被视为字符串,而不是JSON对象.
Mapping Functions:我探索了Azure Data Factory的表达式语言中的其他可用函数,如createMap、struct和数组,以构造JSON对象.不幸的是,这些方法在Azure数据工厂中都不可用.
External Scripting:作为一种解决办法,我考虑在Azure Data Factory中使用外部脚本或定制活动来后处理数据并将其转换为正确的JSON格式.然而,我希望找到一个可以完全在Azure数据工厂管道中实现的解决方案.
就期望而言,我的目标是实现一种JSON输出格式,其中"test"数组包含适当的JSON对象,如我最初的帖子所示:
{
"AccessionNum": "12345",
"test": [
{
"orderunit": "JMJ",
"Testname": "TVK"
},
{
"orderunit": "PJ",
"Testname": "CVK"
}
]
}