簡體   English   中英

如何將 json 列從 postgresql 讀入 java?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM