WSO2 SP: создание объекта JSON из потока - PullRequest
0 голосов
/ 04 апреля 2019

Я пытаюсь сгенерировать объект JSON из потока данных JSON, используя ниже clode:

@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}

1 Ответ

1 голос
/ 08 апреля 2019

Я проверил это на пакете 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}

Я полагаю, это результат, который вы ожидаете.

...