sql >> データベース >  >> RDS >> Oracle

Oracleクエリ出力をjsonに変換します(Oracle / NodeJS)

    なぜJSON_VALUEを使用しているのですか?ドライバーはネイティブJavaScriptオブジェクトを返します。クエリは次のように記述できます:

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

    上記のクエリでは、二重引用符で囲まれた列エイリアスを使用して、キーの大文字と小文字を制御しています。

    デフォルトでは、ドライバーは配列の配列を返します(キーなし)。オブジェクトの配列が必要な場合は、optionsオブジェクトを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_VALUEなどのJSON生成関数をOracleで使用する場合は、二重解析を回避する必要があります。文字列にJSONとしてアクセスするだけです。

    Node.jsとOracleデータベースを使用したRESTAPIの構築の詳細については、次のシリーズを参照してください。 https://jsao.io/2018/03/creating-a-rest-api-with-node-js-and-oracle-database/ >




    1. EntityFrameworkコアpostgresql配列型マッピングが機能しない

    2. Postgresビューで行レベルのセキュリティが有効になっていないのはなぜですか?

    3. mysqlでGROUPBYレコードをさらにフィルタリングするにはどうすればよいですか?

    4. OracleUpdateQueryにSETキーワードがありません-ORA97100およびORA-00904