gpt4 book ai didi

json - 如何使用 JDBC 将 JSON 字段识别为 JSON 类型

转载 作者:行者123 更新时间:2023-11-29 11:48:57 26 4
gpt4 key购买 nike

我正在试验 Postgres 对 json 的支持,我不知道是否有办法让 JDBC 将其识别为 json。我不希望结果集能够返回嵌套的 Map 或类似的东西。我只是在寻找一种方法来从结果元数据或类似的东西中判断它不是真正的文本或字符串字段。

最佳答案

糟糕,看起来 JDBC 会告诉您它是一个字符串,即使数据库中的列类型为 JSON。你可以:

  1. 使用 ResultSetMetaData.getColumnTypeName() 方法,该方法将返回特定于数据库的类型名称并指示 JSON、hstore、JSONB 或任何特定于数据库的列类型强制转换为字符串。

  2. 尝试将其解析为 JSON,如果成功,则将其视为 JSON。这显然不是最佳选择,因为您不知道列中的每个值是否都是 JSON。

  3. 如果您直接拉取列值,则可以通过使用 JDBC 连接器查询来直接从数据库中获取列类型 select * from information_schema.columns where table_name = 'table_name'

  4. 您可以使用 JDBC 连接器在结果集中添加列 pg_typeof("column_name") 作为 column_name_type,例如select *, pg_typeof("column_name") as column_name_type from table_name。如果您的结果集具有计算列而不是直接从数据库中提取信息,这也适用。

最后两个对于处理 PostgreSQL 的 hstore 或其他数据类型也很有用,当它们通过 JDBC 时被视为字符串。

关于json - 如何使用 JDBC 将 JSON 字段识别为 JSON 类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54847570/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com