首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用postgresql-simple检索JSON jsonb值?

如何使用postgresql-simple检索JSON jsonb值?
EN

Stack Overflow用户
提问于 2019-12-13 08:58:42
回答 1查看 232关注 0票数 1

我在postgresql数据库中有一个类型为jsonb的列(jsonExample)。

代码语言:javascript
复制
selectCALogs :: IO [(Int, Object)]
selectCALogs = do
  con <- connection
  query_ con "select \"clusterId\", \"jsonExample\" from cluster"

这会产生以下错误:

代码语言:javascript
复制
    • No instance for (Database.PostgreSQL.Simple.FromField.FromField
                         (unordered-containers-0.2.10.0:Data.HashMap.Base.HashMap
                            Text Value))
        arising from a use of ‘query_’
    • In a stmt of a 'do' block:
        query_ con "select \"clusterId\", \"clusterCALogs\" 
from cluster"
      In the expression:
        do con <- connection
           query_ con "select \"clusterId\", \"clusterCALogs\"from cluster"
      In an equation for ‘selectCALogs’:
          selectCALogs
            = do con <- connection
                 query_ con "select \"clusterId\", 
\"clusterCALogs\" from cluster"
   |
80 |   query_ con "select \"clusterId\", \"clusterCALogs\" 
from cluster"
   |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

我怎样才能让它返回一个JSON对象--使用aeson还是别的什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-12-14 01:16:16

看看这里的FromField实例(http://hackage.haskell.org/package/postgresql-simple-0.6.2/docs/Database-PostgreSQL-Simple-FromField.html#t:FromField),我意识到它应该是Value而不是Object

因此:

代码语言:javascript
复制
selectCALogs :: IO [(Int, Value)]
selectCALogs = do
  con <- connection
  query_ con "select \"clusterId\", \"jsonExample\" from cluster"
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59314764

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档