我正在尝试使用以下clode从JSON数据流生成JSON对象:
@sink(type='log')
define stream TempStream(designation object);
from TestStream
select json:setElement("{}", "$", json:getString(json,"$.DESIGNATION"), "designation") as designation
insert into TempStream;
但输出数据具有空值。请问代码有什么问题吗?
TempStream : Event{timestamp=1554192487415, data=[null], isExpired=false}
传输数据的输入流如下:
TestStream : Event{timestamp=1554192487415, data=[{"STATUS":"AA","CREATED_DATE":"2010-11-23 10:24:36","DESIGNATION":"Manager"}], isExpired=false}
我在SP 4.3.0包上检查了这个,我得到了以下结果
SiddhiApp : TempStream : Event{timestamp=1554733451717, data=[{designation=Manager}], isExpired=false}
我使用的查询与我发送到“TestStream”的事件一样,
@sink(type='log',"TEMPSTREAM")
define stream TempStream(designation object);
@sink(type='log')
define stream TestStream(json string);
from TestStream
select json:setElement("{}", "$", json:getString(json,"$.DESIGNATION"), "designation") as designation
insert into TempStream;
SiddhiApp : TestStream : Event{timestamp=1554733451717, data=[{ "STATUS": "AA", "CREATED_DATE": "2010-11-23 10:24:36", "DESIGNATION": "Manager" } ], isExpired=false}
我相信这是你期待的结果。