Zmiana komunikacji z innym modułem systemu wymusiła inne podejście do przetwarzania przesyłanego jsona. No i był problem z wyciągnięciem peselu, gdy obiekt wewnętrzny nie był tabelą:
{ "client": { "id": "3131", "pesel": "9999999999" }, "pagination" : { "itemPerPage": 20, "currentPage": 2 } }
A rozwiązanie było naprawdę proste:
DECLARE v_clob CLOB := '{ "client": { "id": "3131", "pesel": "9999999999" }, "pagination" : { "itemPerPage": 20, "currentPage": 2 } }'; v_j_object JSON_OBJECT_T; BEGIN v_j_object := JSON_OBJECT_T.parse(v_clob); v_j_object := JSON_OBJECT_T(v_j_object.get('client')); DBMS_OUTPUT.PUT_LINE(v_j_object.get_string('id')); DBMS_OUTPUT.PUT_LINE(v_j_object.get_string('pesel')); END;