我使用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中的集合或序列? 谢谢你的帮助!
答案 0 :(得分:3)
事实证明,这比我做出来要容易得多。
您可以使用(.getValue my-pgobject)
,它将转换为如下字符串:
"[\"id-123\"]"
,然后可以使用cheshire.core/parse-string