【问题标题】:How do i access this javascript value?我如何访问这个 javascript 值?
【发布时间】:2012-03-13 05:02:14
【问题描述】:

我收到一个使用节点 'pg' 从 postgres 返回的 javascript 错误。

这是产生错误的代码

对象是如何生成的。

function storeDeviceState(ingres_id, info) {
        var deviceId;
        var insertDevice = client.query({
                text: "INSERT INTO devices (serialNumber, imeiNumber) VALUES ($1, $2)",
                values: [info.serialNumber, info.imeiNumber]
        }, function (error, results) {
                if (error) {
                        // [error: duplicate key value violates unique constraint "devices_serialnumber_key"
                        console.log(error);
                } else {
                        deviceId = results.rows[0].id;
                        console.log(results);
                }
        });
}

下面是我在控制台中看到的console.log(error);结果的复制和粘贴

{ [error: duplicate key value violates unique constraint "devices_serialnumber_key"]
  length: 130,
  name: 'error',
  severity: 'ERROR',
  code: '23505',
  detail: undefined,
  hint: undefined,
  position: undefined,
  internalPosition: undefined,
  internalQuery: undefined,
  where: undefined,
  file: 'nbtinsert.c',
  line: '300',
  routine: '_bt_check_unique' }

这是我尝试过的,

error[0];
error[0].error;
error.error;

例如,我可以通过

访问代码
error.code;

这是 JSON.stringify 在对象上的结果。

{"length":130,"name":"error","severity":"ERROR","code":"23505","file":"nbtinsert.c","line":"300","routine":"_bt_check_unique"}

请帮忙!

【问题讨论】:

  • 首先,这不是一个有效的 JSON 对象
  • 那不是一个有效的 JS 对象,顺便说一句。 (哦,晚了 20 秒)=)
  • 你 100% 确定这是 pg 返回的吗?它看起来不像格式正确的 JSON。主要是第一个方括号不应该在哪里。 json.org 操作,太晚了 ;)
  • 这看起来好像服务器端在尝试生成 JavaScript (JSON) 对象时出错了。
  • @Ege,问题的答案是使用error.toString();lol!

标签: javascript json postgresql node.js


【解决方案1】:

这个问题的答案很简单。

error.toString();

误报。

【讨论】:

  • 如果其他人想为我回答这个问题,我会接受他们的回答。
  • 自我回答很好。相反,如果您愿意,我们可以删除整个问题。
  • 我会把它放在那里并在几天后接受我自己的答案。
猜你喜欢
  • 2014-06-19
  • 1970-01-01
  • 1970-01-01
  • 2012-05-10
  • 1970-01-01
  • 1970-01-01
  • 2021-05-07
  • 2019-11-11
  • 1970-01-01
相关资源
最近更新 更多