首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL和JSON数据库-R

SQL和JSON数据库-R
EN

Data Science用户
提问于 2019-09-30 12:01:39
回答 1查看 203关注 0票数 1

我有一个数据库(PostgresSQL),如下所示:

代码语言:javascript
复制
""results"": 
    {""WEBS"": 
        {""WEBS_4"": [{""ip"": ""XXXXX"", ""value"": ""YYYY""}]}}

我想访问ip的信息。

然后我用R写了以下查询,但它没有给我任何信息:

代码语言:javascript
复制
dbGetQuery(conexion,"SELECT 
              data->'results'->'WEBS'->'WEBS_4' ->'ip' as test
                          FROM results;")

当我写这个查询时:

代码语言:javascript
复制
dbGetQuery(conexion,"SELECT                   data->'results'->'WEBS'->'WEBS_4' as test
                          FROM results;")

我得到了一个类似于这个[{""ip"": ""XXXXX"", ""value"": ""YYYY""}]的结果,在R中不是很有用。

我的数据库的其他部分是高度嵌套的,所以我想访问那些带有[]符号的部分。

EN

回答 1

Data Science用户

发布于 2019-09-30 20:28:25

您的WEBS_4是一个包含两个元素的数组,因此其中没有ip元素,这解释了为什么失败:

代码语言:javascript
复制
dbGetQuery(conexion,"SELECT 
              data->'results'->'WEBS'->'WEBS_4' ->'ip' as test
                          FROM results;")

您需要获得WEBS_4的零元素,然后就可以得到该元素的ip元素。这适用于我使用psql设置的一个简单的D5测试:

代码语言:javascript
复制
SELECT  data->'results'->'WEBS'->'WEBS_4'->0->'ip' as test
                          FROM results;
  test   
---------
 "XXXXX"
(1 row)

因此,我怀疑相关的R语法将(未经测试):

代码语言:javascript
复制
dbGetQuery(conexion,"SELECT 
              data->'results'->'WEBS'->'WEBS_4'->0->'ip' as test
                          FROM results;")
票数 1
EN
页面原文内容由Data Science提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://datascience.stackexchange.com/questions/61040

复制
相关文章

相似问题

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