如何重新格式化 oracledb json 输出?
How to reformat oracledb json output?
使用带有 outFormat:oracledb.OBJECT 选项 returns json 的 oracledb node.js 驱动程序,但列名的格式为大写(属性 名称遵循 Oracle 的标准名称-套管规则),像这样:
{"ID":“1”}
是否可以将它们设为小写,如下所示:
{"Id":"1"}?
JSON_OBJECT 在 Oracle Database 12.2 中介绍对我不可用。
只需使用列别名:
const oracledb = require('oracledb');
const config = require('./dbConfig.js');
(async function() {
let conn;
let result;
try {
conn = await oracledb.getConnection(config);
result = await conn.execute(
`select first_name || ' ' || last_name name,
email
from employees
where rownum = 1`,
[], // no binds
{
outFormat: oracledb.OBJECT
}
);
// This is the problem, uppercase column names, no?
console.log(result.rows); // [ { NAME: 'Steven King', EMAIL: 'SKING' } ]
result = await conn.execute(
`select first_name || ' ' || last_name "name",
email "email"
from employees
where rownum = 1`,
[], // no binds
{
outFormat: oracledb.OBJECT
}
);
// Here's the result with case sensitve aliases
console.log(result.rows); // [ { name: 'Steven King', email: 'SKING' } ]
} catch (err) {
// Will throw, but only after finally runs
throw err;
} finally {
if (conn) {
try {
await conn.close();
} catch (err) {
console.log('error closing conn', err);
}
}
}
}());
或"process"之后的结果。您可能会发现这相关:
https://jsao.io/2015/07/relational-to-json-with-node-js/
使用带有 outFormat:oracledb.OBJECT 选项 returns json 的 oracledb node.js 驱动程序,但列名的格式为大写(属性 名称遵循 Oracle 的标准名称-套管规则),像这样: {"ID":“1”} 是否可以将它们设为小写,如下所示: {"Id":"1"}?
JSON_OBJECT 在 Oracle Database 12.2 中介绍对我不可用。
只需使用列别名:
const oracledb = require('oracledb');
const config = require('./dbConfig.js');
(async function() {
let conn;
let result;
try {
conn = await oracledb.getConnection(config);
result = await conn.execute(
`select first_name || ' ' || last_name name,
email
from employees
where rownum = 1`,
[], // no binds
{
outFormat: oracledb.OBJECT
}
);
// This is the problem, uppercase column names, no?
console.log(result.rows); // [ { NAME: 'Steven King', EMAIL: 'SKING' } ]
result = await conn.execute(
`select first_name || ' ' || last_name "name",
email "email"
from employees
where rownum = 1`,
[], // no binds
{
outFormat: oracledb.OBJECT
}
);
// Here's the result with case sensitve aliases
console.log(result.rows); // [ { name: 'Steven King', email: 'SKING' } ]
} catch (err) {
// Will throw, but only after finally runs
throw err;
} finally {
if (conn) {
try {
await conn.close();
} catch (err) {
console.log('error closing conn', err);
}
}
}
}());
或"process"之后的结果。您可能会发现这相关: https://jsao.io/2015/07/relational-to-json-with-node-js/