如何在 ESQL 中创建复杂对象
How to create a complex object in ESQL
我想在 ESQL 中创建以下 JSON 对象并将其放在 SET OutputRoot.JSON.Data 上。我该怎么做?
{
"active" : [ {"name" : "test"},
{"name": "test2"}]
"inactive" : [ {"name" : "test3"}]
}
对于想要输出特定格式 XML/JSON:
的 IIB 开发人员来说,有一个标准程序
- 使用文本编辑器创建您要输出的文档
- 创建一个简单的消息流来解析该文档。
- 在 FileInput 节点(或 HTTPInput,如果您愿意)将域设置为 'JSON'
- 确保第二个节点是 Pattern 设置为“${Root}”的 Trace 节点。
- 将示例 JSON 通过消息流
- 检查 Trace 节点输出,特别注意每个节点上的字段类型
- 编写在 OutputRoot.JSON.Data
下生成相同消息树的 ESQL
下面的代码片段演示了如何创建您需要的JSON:
CREATE FUNCTION Main() RETURNS BOOLEAN
BEGIN
-- Create JSON domain
CREATE LASTCHILD OF OutputRoot DOMAIN 'JSON' NAME 'JSON';
-- Create root Data field
CREATE FIELD OutputRoot.JSON.Data;
DECLARE OutMsg REFERENCE TO OutputRoot.JSON.Data;
CREATE FIELD OutMsg.active IDENTITY (JSON.Array)active;
SET OutMsg.active.Item[1].name = 'test';
SET OutMsg.active.Item[2].name = 'test2';
SET OutMsg.(JSON.Array)inactive.Item[1].name = 'test3';
RETURN TRUE;
END;
您还可以在此处 Manipulating messages in the JSON domain and here Creating or transforming a JSON message by using a message map
阅读有关 JSON 的更多信息
我想在 ESQL 中创建以下 JSON 对象并将其放在 SET OutputRoot.JSON.Data 上。我该怎么做?
{
"active" : [ {"name" : "test"},
{"name": "test2"}]
"inactive" : [ {"name" : "test3"}]
}
对于想要输出特定格式 XML/JSON:
的 IIB 开发人员来说,有一个标准程序- 使用文本编辑器创建您要输出的文档
- 创建一个简单的消息流来解析该文档。
- 在 FileInput 节点(或 HTTPInput,如果您愿意)将域设置为 'JSON'
- 确保第二个节点是 Pattern 设置为“${Root}”的 Trace 节点。
- 将示例 JSON 通过消息流
- 检查 Trace 节点输出,特别注意每个节点上的字段类型
- 编写在 OutputRoot.JSON.Data 下生成相同消息树的 ESQL
下面的代码片段演示了如何创建您需要的JSON:
CREATE FUNCTION Main() RETURNS BOOLEAN
BEGIN
-- Create JSON domain
CREATE LASTCHILD OF OutputRoot DOMAIN 'JSON' NAME 'JSON';
-- Create root Data field
CREATE FIELD OutputRoot.JSON.Data;
DECLARE OutMsg REFERENCE TO OutputRoot.JSON.Data;
CREATE FIELD OutMsg.active IDENTITY (JSON.Array)active;
SET OutMsg.active.Item[1].name = 'test';
SET OutMsg.active.Item[2].name = 'test2';
SET OutMsg.(JSON.Array)inactive.Item[1].name = 'test3';
RETURN TRUE;
END;
您还可以在此处 Manipulating messages in the JSON domain and here Creating or transforming a JSON message by using a message map
阅读有关 JSON 的更多信息