还有一种使用工作流定义语言的方法。(https://docs.microsoft.com/en-us/azure/logic-apps/logic-apps-workflow-definition-language)。
使用函数string
,replace
您可以将 json 作为字符串而不是对象处理。
以下是对您的数据执行操作Flat_List
之后的操作:Parse_JSON
您的数据:
[
{"Results": ["string a", "string b"]},
{"Results": ["string c", "string d"]}
]
Flat_List 组件:
"Flat_List": {
"inputs": "@replace(replace(replace(string(body('Parse_JSON')),']},{\"Results\":[',','),'}]','}'),'[{','{')",
"runAfter": {
"Parse_JSON": [
"Succeeded"
]
},
"type": "Compose"
},
这里会发生什么?首先,我们使用string
它获取您的 json 数据并给出:
[{"Results":["string a", "string b"]},{"Results":["string c", "string d"]}]
我们替换所有的]},{"Results":[
by ,
。
我们替换所有的}]
by }
。
我们替换所有的[{
by {
。
我们得到字符串{"Results":["string a","string b","string c","string d"]}
然后,您可以自由地将其解析回 json:
"Parse_JSON_2": {
"inputs": {
"content": "@outputs('Flat_List')",
"schema": {
"properties": {
"Results": {
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
},
"runAfter": {
"Flat_List": [
"Succeeded"
]
},
"type": "ParseJson"
}
您可以将其视为概念证明,因为 Azure Function 以后可能更容易重新阅读,但可能有很多理由不想实例化新的 Azure Function,而您可以在 Logic App 中完成这项工作。
如果需要,请随时询问更多详细信息:)