我是在逻辑应用程序中创建液体贴图的新手,在将 JSON 对象作为字符串映射到 JSON 输出上的字段时遇到一些问题。
我有这个输入,我想将每个对象作为字符串映射到 JSON 输出上的字段,这也是一个数组。
[
{
"firstName": "FirstName1",
"lastName": "LastName1"
},
{
"firstName": "FirstName2",
"lastName": "LastName2"
},
{
"firstName": "FirstName3",
"lastName": "LastName3"
}
]
我正在使用此代码创建 JSON 输出。
[
{%- for rec in content -%}
{
"BrokerProperties": {
"ContentType": "application/json",
"SessionId": "1"
},
"body": "{{ rec }}"
}
{% if forloop.last == false %},{% endif %}
{%- endfor -%}
]
但是,当我查看运行历史记录时,我发现正文是空的。
我的预期输出如下。我该怎么做?
[
{
"BrokerProperties": {
"ContentType": "application/json",
"SessionId": "1"
},
"body": "{\"firstName\": \"FirstName1\",\"lastName\": \"LastName1\"}"
...
我尝试将液体贴图更新为以下内容,但仍然不起作用。
"body": "{{ rec | json }}"
Compose
操作来处理:
{
"type": "Compose",
"inputs": [
{
"BrokerProperties": {
"ContentType": "application/json",
"SessionId": "1"
},
"body": "@{replace(replace(string(variables('MyArray')), '[', ''), ']', '')}"
}
],
"runAfter": {
"Initialize_variable": [
"Succeeded"
]
}
}
MyArray 变量是用数组初始化的:
结果:
[
{
"BrokerProperties": {
"ContentType": "application/json",
"SessionId": "1"
},
"body": "{\"firstName\":\"FirstName1\",\"lastName\":\"LastName1\"},{\"firstName\":\"FirstName2\",\"lastName\":\"LastName2\"},{\"firstName\":\"FirstName3\",\"lastName\":\"LastName3\"}"
}
]