【问题标题】:Postgres JSONB column insert error: invalid input syntax for type json the input string ended unexpectedlyPostgres JSONB 列插入错误:json 类型的输入语法无效输入字符串意外结束
【发布时间】:2021-05-30 09:33:44
【问题描述】:

我正在尝试通过 DBeaver 手动创建一行,并在 jsonb 列中输入以下内容:

{"US":"0.880","PA":"0.028","KY":"0.025"}

我检查了https://jsonformatter.curiousconcept.com/# 上的 JSON 是否有效

但是,这就是我得到的:

任何见解将不胜感激......

我什至尝试用单引号将对象括起来,例如:

'{"US":"0.880","PA":"0.028","KY":"0.025"}'

但是关于 ' 是无效标记的错误...

我正在编写一个 nodejs 脚本来将一个 json 字符串化对象插入到列中,但我遇到了同样的错误,所以我决定手动尝试它,我什至无法插入上述数据...

【问题讨论】:

  • 请在问题中添加详细信息,这在 Postgres 上运行良好:select '{"US":"0.880","PA":"0.028","KY":"0.025"}'::jsonb;。 (使用PostgreSQL 12.6 (Ubuntu 12.6-0ubuntu0.20.10.1) on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 10.2.0-13ubuntu1) 10.2.0, 64-bit)。
  • 我正在通过 DBEAVER (DBMS) 手动将对象添加到列中......它不应该工作吗?
  • 检查服务器日志文件以查看发送的内容。
  • 同意@jjanes:这可能是 DBEAVER 的问题,而不是 PostgreSQL 本身的问题。

标签: json dbeaver


【解决方案1】:

我可以通过 UI 在 DBeaver 的 jsonb 列中插入这些数据,没有问题。

但是我们在没有主键的表中的 json(不是 jsonb)列中输入有问题。也许这是你的情况https://github.com/dbeaver/dbeaver/issues/11704

或者你能显示表格 DDL 吗?

insertjsonb

【讨论】:

  • 您好,感谢您的检查。我基本上继续前进。我仍然不知道为什么它不起作用。如果我使用 SQL 查询插入它,它会起作用。我正在做的是使用“查看表数据”部分中的“创建列”功能
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-16
  • 2014-09-30
  • 1970-01-01
  • 2023-03-15
  • 1970-01-01
相关资源
最近更新 更多