Clojure中的PGobject类型转换

时间:2017-08-09 09:05:25

标签: clojure type-conversion hugsql

我使用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中的集合或序列? 谢谢你的帮助!

1 个答案:

答案 0 :(得分:3)

事实证明,这比我做出来要容易得多。

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

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

之类的内容进行解析