我有一个具有以下格式的json文件。
(n^2)
我正在使用复制活动,并且
{
"results": [
{
"product": {
"code": "104AB001",
"names": [
{
"lang_code": "fr_CM",
"name": "BANOLE"
},
{
"lang_code": "f_CM",
"name": "BANOLE"
}
]
}
},
{
"product": {
"code": "104AB002",
"names": [
{
"lang_code": "fr_CM",
"name": "BANOLE"
},
{
"lang_code": "f_CM",
"name": "BANOLE"
}
]
}
}
]
}
预期输出为
"jsonNodeReference": "$.['results'][*].['product'].['names']",
"jsonPathDefinition": {
"product__code": "$.['results'][*].['product'].['code']",
"product__names__lang_code": "['lang_code']",
"product__names__name": "['name']"
}
但是我越来越 Azure data factory output as 当我确实在堆栈溢出和Google中进行搜索时,我得到了一些信息,例如在Azure Data Factory中是不可能的。下面是链接
https://medium.com/@gary.strange/flattening-json-in-azure-data-factory-2f2130794258
我的问题在这里,如果在azure数据工厂中不可能,那么实现这一目标的另一种解决方案是什么。
答案 0 :(得分:0)
在一个模式中只能将一个数组展平。可以引用多个数组-返回为包含该数组中所有元素的一行。但是,只有一个数组可以将其每个元素作为单独的行返回。这是jsonPath的当前限制。
但是,您可以先使用Logic App将带有嵌套对象的json文件转换为CSV文件,然后再将CSV文件用作Azure数据工厂的输入。请参阅下面的URL,以了解如何使用Logic App将json文件中的嵌套对象转换为CSV。
谢谢