Dlaczego używasz JSON_VALUE? Sterownik zwraca natywne obiekty JavaScript. Możesz napisać zapytanie jako:
select department "department",
ufh "ufh",
libelle "libelle",
nomhopital "nomhopital",
typeservice "typeservice"
from Z_SOUPAP2CARTESITE
where actif=1
W powyższym zapytaniu aliasy kolumn w cudzysłowie są używane do kontrolowania wielkości liter w kluczach.
Domyślnie sterownik zwraca tablicę tablic (bez kluczy). Jeśli chcesz tablicę obiektów, musisz przekazać obiekt opcji do execute
która zmienia outFormat
. Zobacz tę część dokumentu:https://oracle.github. io/node-oracledb/doc/api.html#queryoutputformats
Oto przykład z dokumentu:
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);
Jeśli chcesz używać funkcji generowania JSON w Oracle, takich jak JSON_VALUE, musisz unikać podwójnej analizy - po prostu uzyskaj dostęp do ciągu jako JSON.
Zobacz tę serię, aby uzyskać więcej informacji na temat tworzenia interfejsu API REST za pomocą Node.js i bazy danych Oracle:https://jsao.io/2018/03/creating-a-rest-api-with-node-js-and-oracle-database/