Clojure 中的 PGobject 类型转换

PGobject type conversion in Clojure

我在使用 Hugsql 时遇到了 Clojure 中的类型转换问题。我是 Clojure 的新手,也是 SQL 的新手,如果能得到任何帮助,我将不胜感激。

我们最近迁移了我们的 PostgreSQL 数据库,所以一列是 json 数组而不是字符串——迁移看起来像:

ALTER TABLE customers ALTER id TYPE JSON USING json_build_array(id);

但是现在当我查询该数据时,类型是一个 PGobject 而不是我希望的集合。当我在寻找:

实际返回值为

我花了一些时间查找如何进行类型转换,但没有成功。如何将此响应的类型转换为 Clojure 中的集合或序列? 感谢您的帮助!

事实证明,这比我想象的要容易得多。

您可以只使用 (.getValue my-pgobject),它将被转换为如下字符串:

"[\"id-123\"]",然后可以用 cheshire.core/parse-string

之类的东西进行解析