Защо използвате JSON_VALUE? Драйверът връща собствени JavaScript обекти. Можете да напишете заявката като:
select department "department",
ufh "ufh",
libelle "libelle",
nomhopital "nomhopital",
typeservice "typeservice"
from Z_SOUPAP2CARTESITE
where actif=1
В горната заявка псевдонимите на колони в двойни кавички се използват за контролиране на регистъра на буквите на ключовете.
По подразбиране драйверът връща масив от масиви (без ключове). Ако искате масив от обекти, трябва да предадете обект с опции за execute
който променя outFormat
. Вижте тази част от документа:https://oracle.github. io/node-oracledb/doc/api.html#queryoutputformats
Ето пример от документа:
const result = await connection.execute(
`SELECT department_id, department_name
FROM departments
WHERE manager_id < :id`,
[110], // bind value for :id
{ outFormat: oracledb.OUT_FORMAT_OBJECT }
);
console.log(result.rows);
Ако искате да използвате функциите за генериране на JSON в Oracle, като JSON_VALUE, трябва да избягвате двоен анализ - просто осъществете достъп до низа като JSON.
Вижте тази серия за повече информация относно изграждането на REST API с Node.js и Oracle Database:https://jsao.io/2018/03/creating-a-rest-api-with-node-js-and-oracle-database/