sql >> Database >  >> RDS >> Oracle

Converteer Oracle-query-uitvoer naar json (Oracle / NodeJS)

Waarom gebruikt u JSON_VALUE? Het stuurprogramma retourneert native JavaScript-objecten. Je zou de vraag kunnen schrijven als:

select department "department",
  ufh "ufh",
  libelle "libelle",
  nomhopital "nomhopital",
  typeservice "typeservice"
from Z_SOUPAP2CARTESITE 
where actif=1 

In de bovenstaande query worden de kolomaliassen tussen dubbele aanhalingstekens gebruikt om het hoofdlettergebruik van de sleutels te bepalen.

Standaard retourneert het stuurprogramma een array met arrays (geen sleutels). Als u een array van objecten wilt, moet u een options-object doorgeven aan execute dat verandert de outFormat . Zie dit deel van het document:https://oracle.github. io/node-oracledb/doc/api.html#queryoutputformats

Hier is een voorbeeld uit het document:

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);

Als u de JSON-generatiefuncties in Oracle wilt gebruiken, zoals JSON_VALUE, moet u een dubbele ontleding vermijden - open de string gewoon als JSON.

Zie deze serie voor meer informatie over het bouwen van een REST API met Node.js en Oracle Database:https://jsao.io/2018/03/creating-a-rest-api-with-node-js-and-oracle-database/




  1. Hoe twee kolommen SELECTEREN, waarbij één kolom DISTINCT moet zijn?

  2. Hoe opvragen voor null-waarden in json-veldtype postgresql?

  3. MYSQL - Hoe krijg ik niet-geaggregeerde kolommen uit een tabel op basis van een geaggregeerde kolom

  4. Het belang van onderhoud op MSDB