微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何以这种格式将数据从 json 文件导入 PostgreSQL?

如何解决如何以这种格式将数据从 json 文件导入 PostgreSQL?

我有数百个以下格式的 json 文件

{"name": "example","location": "example"}
{"name": "example2","location": "example2"}

每一行都是一个不同的 json 对象,我将所有 json 文件本地存储在 Linux 机器上。

这些json的格式在尝试导入数据时造成了很多问题。首先,所有的字符串都是用双引号写的。我读到双引号应该用于列名,所以这可能是一个问题。其次,主要问题是 json 文件对象中的一些字符串具有键值,例如:

{"example1": "\"example text\""}

{"example2": "that's"}

我要测试的查询是:

copY table(data jsonb) from '/path/to/jsons.json';

在第一个例子的情况下,它不读取反斜杠并输出这个错误

ERROR:  invalid input Syntax for type json
DETAIL:  Token "example" is invalid.
CONTEXT:  JSON data,line 1: "example":""exampl...

在第二个示例的情况下,它将单引号视为字符串的结尾,因此导致另一个语法错误

ERROR: Syntax error at or near "s"
LINE 1: "example":"that's"
                        ^

重新格式化 json 文件并不是一个真正的选择,因为我有数百个文件,每个文件中都有数十万个对象,除非有一种有效的方法来这样做。

我想知道是否有办法让 Postgresql 接受我的 jsons 格式并将每个对象正确插入表中。我想将数据类型保留为 json 或 jsonb,以便以后可以使用 Postgresql 的 json 函数

谢谢!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。