Я пытаюсь извлечь действительный json из текста с помощью Siddhi json Execution API. Я загрузил siddhi-execution-json-1.1.1.jar из магазина wso2 и следую примеру, упомянутому в документации. Но тот же синтаксис выше не выдает ошибку «Синтаксическая ошибка в SiddhiiQl, несоответствующий ввод 'input', ожидающий {',', GROUP, ORDER, LIMIT ....}». Ниже мой синаткс:
@info(name='query_name')
from transact#window.length(1)
select json:group("json",true) as groupedJSONArray
input transact2;
Я использую приведенный ниже текст из потока транзакций:
data: "" {
"_id": {
"$oid": "fr4wfwe4"
},
"code": "fesfsce",
"name": "NAME1",
"desc": "DECRIPTION",
"transRefId": "FESFCSEFCS",
"amount": 1000,
"currency": "USD",
"sender": {
"id": "FRESGVSVDVEFE2333",
"name": "rose",
"phone": "123456789"
},
"message": "",
"lockedBy": {},
"activatedBy": {},
"statusChangedAt": "",
"linkBankTrans": null,
"devGrp": 0,
"requestId": "",
"codeStatus": null,
"codeTransRefId": null,
"extOriginTransId": null
}
""
Для справки, я генерирую поток транзакций с помощью следующего запроса:
@info(name = 'clean payload with replaceall')
from transactionstream1
select str:replaceAll(payload,"\\","") as data
insert into transact;
Я хочу извлечь действительный json внутри данных: "" в потоковом процессоре WSO2. Есть ли какое-то другое расширение, которое я должен использовать, или в способе выполнения есть какая-то ошибка? Мне нужен этот запрос выше: @info (name = 'query_name'), чтобы работать, чтобы получить json из приведенного выше текста.