【发布时间】:2020-12-12 03:39:37
【问题描述】:
非常感谢您帮我看这个。
我正在使用 IBM ACE V11 软件,在我的服务中,我收到一条 JSON 消息。
我需要通过 ESQL 将此 JSON 消息映射到 SOAP 请求。
请参阅下面的示例消息:
传入的 JSON 消息:
"journals": [
{
"journalName": "Plant Species in London",
"journalYear": "2016",
"journalAuthor": [
{
"name": "Julian Bose",
"subject": "botany"
}
{
"name": "Samantha Adams",
"subject": "biology"
},
],
"samplePolling": {
"pollingInterval": 120,
"totalAttempts": 10
}
},
],
"supervisorName": "James Smith"
}
到目前为止,我在 ESQL 中:
期刊名称:
SET OutputRoot.SOAP.Body.ns:submitJournal.ns:journalName = InputRoot.JSON.Data.journals.journalName;
期刊年份:
SET OutputRoot.SOAP.Body.ns:submitJournal.ns:journalYear = InputRoot.JSON.Data.journals.journalYear;
对于期刊的作者,我有一个问题。问题是可能有 0 到 3 个或更多作者。 在这种情况下,有 2 个作者。
我如何首先检查是否有作者在场,如果有,有多少人,然后如何将每个作者的详细信息分配给 SOAP。 (所有这些都在 ESQL 中)。
到目前为止,在 ESQL 中我有这个。但我不知道如何获得“n”值。 (n 代表作者人数)。
SET OutputRoot.SOAP.Body.ns:submitJournal.ns:journalAuthorValues[n].ns16:AuthorName = InputRoot.JSON.journals.journalAuthor[n].name;
非常感谢任何和所有帮助。
【问题讨论】:
标签: arrays json soap extended-sql