在R中为JSON添加括号

时间:2019-01-28 23:27:15

标签: r json dplyr

我有以下示例JSON:

[
  {
    "city": "Chicago",
    "latitude": "41.8781",
    "longitude": "87.6298"
  }
]

如何使用R将其转换为常规JSON? (例如,不是数组)。我想要这个:

library(jsonlite)

{
  "Chicago": {
    "lat" : "41.8781"
    "long" : "87.6298"
    }
}

我使用jsonlite包将数据帧转换为JSON,例如toJSON(df, pretty = T)。样本数据集:

df <- tibble(
  "City" = ("Chicago"),
  "latitude" =(41.8781),
  "longitude" = (87.6298)
)

其中有几百个,任何帮助都会很棒。或者,如果在R中不可能,那也很好知道。谢谢!

1 个答案:

答案 0 :(得分:1)

也许像这样:

library(jsonlite)
df <- fromJSON('[
    {
        "city": "Chicago",
        "latitude": "41.8781",
        "longitude": "87.6298"
    }
]')

ans <- setNames(apply(df[,-1L], 1, as.list), df[,1L])
toJSON(ans, auto_unbox=TRUE)