我有超过1000个JSON文件,并且每天都会收到此文件。我的问题是语言是EN,我希望它是ENGLISH。我通过Logic App接收到JSON文件,因此可以在逻辑应用程序中执行此操作。
{
"customer": "ABCD",
"firstname": "Bob",
"lastname": "Doe",
"email": "XYZ",
"language": "EN"
}
我还将在比利时拥有BEL,在法国拥有FR。
答案 0 :(得分:0)
当然,这取决于您在做什么。
最简单的例子:
setProperty
函数来设置“输出数据”变量。您可以添加其他国家/地区匹配项,并默认将变量设置为原始JSON 这是应用程序的JSON模式。我既使用输入数据变量,也使用输入变量,但是使用输出变量,则应该可以做到这一点。
{
"$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#",
"contentVersion": "1.0.0.0",
"parameters": {},
"triggers": {
"manual": {
"type": "Request",
"kind": "Http",
"inputs": {
"schema": {
"properties": {
"customer": {
"type": "string"
},
"email": {
"type": "string"
},
"firstname": {
"type": "string"
},
"language": {
"type": "string"
},
"lastname": {
"type": "string"
}
},
"type": "object"
}
}
}
},
"actions": {
"Input_Data": {
"runAfter": {},
"type": "InitializeVariable",
"inputs": {
"variables": [
{
"name": "Data",
"type": "Object",
"value": "@triggerBody()"
}
]
}
},
"Output_Data": {
"runAfter": {
"Input_Data": [
"Succeeded"
]
},
"type": "InitializeVariable",
"inputs": {
"variables": [
{
"name": "Output Data",
"type": "Object"
}
]
}
},
"Parse_JSON": {
"runAfter": {
"Output_Data": [
"Succeeded"
]
},
"type": "ParseJson",
"inputs": {
"content": "@variables('Data')",
"schema": {
"customer": "ABCD",
"email": "XYZ",
"firstname": "Bob",
"language": "EN",
"lastname": "Doe"
}
}
},
"Response": {
"runAfter": {
"Switch": [
"Succeeded"
]
},
"type": "Response",
"kind": "Http",
"inputs": {
"body": "@variables('Output Data')",
"statusCode": 200
}
},
"Switch": {
"runAfter": {
"Parse_JSON": [
"Succeeded"
]
},
"cases": {
"Case": {
"case": "EN",
"actions": {
"Set_variable": {
"runAfter": {},
"type": "SetVariable",
"inputs": {
"name": "Output Data",
"value": "@setProperty(variables('Data'), 'language', 'English')"
}
}
}
}
},
"default": {
"actions": {
"Set_variable_2": {
"runAfter": {},
"type": "SetVariable",
"inputs": {
"name": "Output Data",
"value": "@variables('Data')"
}
}
}
},
"expression": "@body('Parse_JSON')['language']",
"type": "Switch"
}
},
"outputs": {}
}
答案 1 :(得分:0)
如果您尚未解决此问题,请参阅下面的解决方案,它可能会帮助您解决问题,并且我们可以轻松地对其进行操作。
由于我不知道json文件的来源以及文件的存储位置,因此在我的逻辑应用程序中,我将json文件上传到Azure blob存储中。
首先,我在我的逻辑应用程序中使用“获取blob内容”操作来获取json文件的内容。
第二,初始化一个名为“ jsonString”的变量,以字符串类型存储json。
然后通过“ replace()”函数执行替换操作。 完整的表达式是
replace(variables('jsonString'), 'EN', 'ENGLISH')
如果您有很多json文件,则可以使用“列出blob”操作列出blob存储中的所有json文件,然后使用“获取blob内容”操作。
希望对您的问题有帮助〜