4

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

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

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

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

  • ["id-123"]

实际返回值为

  • #object[org.postgresql.util.PGobject 0x7ff0434e "[\"id-123\"]"]

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

4

1 回答 1

5

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

你可以使用(.getValue my-pgobject)它,它将被转换为一个字符串,如:

"[\"id-123\"]", 然后可以用cheshire.core/parse-string 之类的东西解析

于 2017-08-09T09:29:02.853 回答