Для этого требования мы можем использовать некоторые действия в приложении logi c, чтобы получить "a12,b45,c78"
и затем разделить их на массив, а затем преобразовать их из json в xml. Но я думаю, что это решение слишком сложное, нам может потребоваться выполнить много операций в приложении logi c. Таким образом, в вашем приложении logi c вы можете сделать то, что делали раньше, и получить результат <demo>a12,b45,c78</demo>
. Затем используйте xslt map для преобразования ths xml в нужный вам формат. Пожалуйста, обратитесь к следующим шагам:
1. Я делаю ту же операцию, что вы упомянули в своем вопросе. ![enter image description here](https://i.stack.imgur.com/bjBPR.png)
2. Нам нужно создать шаблон xslt, как показано ниже:
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="demo/text()" name="tokenize">
<xsl:param name="separator" select="','"/>
<xsl:for-each select="tokenize(.,$separator)">
<Value>
<xsl:value-of select="normalize-space(.)"/>
</Value>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
3. Сохраните шаблон xslt как тип .xslt
и загрузите его на карту своей учетной записи интеграции. Когда вы выполняете загрузку, выберите «Тип карты» как «XSLT 2.0».
4. Используйте преобразование XML, чтобы выполнить преобразование (выберите карту, которую вы загрузили выше ). ![enter image description here](https://i.stack.imgur.com/mVDCV.png)
5. После этого мы можем получить желаемый результат. ![enter image description here](https://i.stack.imgur.com/9ODdx.png)
Обновление:
Вы можете использовать шаблон жидкости, как показано ниже:
{% assign arr = content.demo | Split: "," %}
{
{% if content.status == "1" %}
"status": "done",
{% else %}
"status": "undone",
{% endif %}
"demo": {
"Value":[
{% for item in arr %}
"{{item}}",
{% endfor %}
]
}
}
Затем получите json данные, которые вы хотите:
{
"status": "done",
"demo": {
"Value": [
"a12",
"b45",
"c78"
]
}
}