[英]How can I read a json column from postgresql into java?
這個 postgresql 查詢
SELECT array_to_json(array_agg(row_to_json(c))) FROM contacts c;
帶回一個 json 類型的列。 這是 pgadmin 中的工作查詢...
我想從使用 Jackson 的 Java 服務器執行相同的查詢。 我應該將響應讀入什么類型? 我曾嘗試將響應作為 PGobject 變量接收,但在查詢后,我看到該變量為空。
我也嘗試將響應接收到字符串中,但這會引發錯誤:
java.lang.ClassCastException: class org.postgresql.util.PGobject cannot be cast to class java.lang.String (org.postgresql.util.PGobject is in unnamed module of loader 'app'; java.lang.String is in module java.base of loader 'bootstrap')
如果結果是 json(或 jsonb),您可以使用ResultSet.getString()
來讀取它。 然后通過 Jackson 的 ObjectMapper 將其轉換為其他內容。
順便說一句:您可以將聚合簡化為:
select jsonb_agg(to_jsonb(c))
from FROM contacts c;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.