我有一个数据库(PostgresSQL),如下所示:
""results"":
{""WEBS"":
{""WEBS_4"": [{""ip"": ""XXXXX"", ""value"": ""YYYY""}]}}我想访问ip的信息。
然后我用R写了以下查询,但它没有给我任何信息:
dbGetQuery(conexion,"SELECT
data->'results'->'WEBS'->'WEBS_4' ->'ip' as test
FROM results;")当我写这个查询时:
dbGetQuery(conexion,"SELECT data->'results'->'WEBS'->'WEBS_4' as test
FROM results;")我得到了一个类似于这个[{""ip"": ""XXXXX"", ""value"": ""YYYY""}]的结果,在R中不是很有用。
我的数据库的其他部分是高度嵌套的,所以我想访问那些带有[]符号的部分。
发布于 2019-09-30 20:28:25
您的WEBS_4是一个包含两个元素的数组,因此其中没有ip元素,这解释了为什么失败:
dbGetQuery(conexion,"SELECT
data->'results'->'WEBS'->'WEBS_4' ->'ip' as test
FROM results;")您需要获得WEBS_4的零元素,然后就可以得到该元素的ip元素。这适用于我使用psql设置的一个简单的D5测试:
SELECT data->'results'->'WEBS'->'WEBS_4'->0->'ip' as test
FROM results;
test
---------
"XXXXX"
(1 row)因此,我怀疑相关的R语法将(未经测试):
dbGetQuery(conexion,"SELECT
data->'results'->'WEBS'->'WEBS_4'->0->'ip' as test
FROM results;")https://datascience.stackexchange.com/questions/61040
复制相似问题