将R与PostgreSQL 9.4的JSONB数据类型进行接口连接

8

自 PostgreSQL 9.4 版本起,一种新的数据类型 JSONB 已经可用。根据在单个节点上提供的性能测试,性能比 mongodb 更好(这是可以理解的,因为 mongodb 并不是其最擅长的领域)。

是否有可能在 R 中读取 JSONB,最好使用 jsonlite?

如何实现?

1个回答

1

这是我到达的地方,但我怀疑有更好的方法(因此发布了这篇文章):

  dbGetQuery(conn,"SELECT * FROM justjsonb;")
  id                                                                                         doc
1  1 {"name": "fred", "address": {"line1": "52 The Elms", "line2": "Elmstreet", "postcode": "ES1 1ES"}}
Warning message:
In postgresqlExecStatement(conn, statement, ...) :
  RS-DBI driver warning: (unrecognized PostgreSQL field type jsonb (id:3802) in column 1)

(注意警告)

这是我得到的 json 字符串:

{"name": "fred", "address": {"line1": "52 The Elms", "line2": "Elmstreet", "postcode": "ES1 1ES"}}

获取结果的方法如下:

我这样做:

unlist(fromJSON(dj$doc))
            name    address.line1    address.line2 address.postcode 
          "fred"    "52 The Elms"      "Elmstreet"        "ES1 1ES" 

有更好的方法吗?


你的 dj 变量从哪里来?如果你的 jsonb 输入表格有多行,它还能正常工作吗? - user1767316

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接