Имеется процедура, где вход клоб параметр и на выход клоб параметр (с целью работы с форматы json)
prosedure p_ReqGetResp (pRequest clob, pResponse clob) as
....
begin
sResponse :='[';
for i in...
select rownum as rnum, COUNT(*) OVER() as totalCnt, s.code, s.from
into Rnum, Totalcnt, vCode, nFrom
from s_pres s
where id = :preid;
iFind := iFind + 1;
sZpt := NULL;
IF Rnum = Totalcnt THEN
sZpt := ',';
END IF;
sResponse := Response || '{"code":"' || rec.code ||
'","numcode":"' || vCode ||
'","сodedate":"' ||nFrom ||'"}'|| sZpt;
end loop;
sResponse := pResponse']';
end;
ниже в коде видно склеивание переменных для передачи в json формате -- но это не правильно понимаю
sResponse := Response || '{"code":"' || rec.code ||
'","numcode":"' || vCode ||
'","сodedate":"' ||nFrom ||'"}'|| sZpt;
в итоге получаю корректный запрос json формата
сам запрос
{
"pRequest": {"codes":["123","456","789"] }
}
ответ на запрос
"data": {
"pResponse": [
{
"code": "123",
"vCode": "HAR321",
"nFrom": "21.01.24"
},
{
"code": "456",
"vCode": "HAR654",
"сontract_date": "12.01.24"
},
{
"code": "789",
"vCode": "HAR987",
"nFrom": "15.01.24"
}
]
}
как тоже самое сделать, только как можно правильно сделать посредством стандартов json?