我有一个dtaframe,其中一列中有嵌套的json。我想把其中一个变成数据帧。json在这里:df[1,]$json,看起来像这样:
{"case": "payment: fraud checking", "params": {}, "answer": {"assistant_check": false}}
我试着这样做:
library(jsonlite)
df[1,]$json %>%
fromJSON() %>%
as.data.frame()
但它给了我一个错误:
Error in (function (..., row.names = NULL, check.rows = FALSE, check.names = TRUE, :
arguments imply differing number of rows: 1, 0
为什么会发生这种情况?我想是因为";params":{}。如何解决?为什么我没有从dong那里得到这个数据帧:
case params answer.assistant_check
payment: fraud checking NA FALSE
如果json列不包含任何数组数据,这将适用于您(但如果params
在所有行中都为空,则取消它(。
library(dplyr)
library(purrr)
library(jsonlite)
df$json %>%
map_dfr(~unlist(jsonlite::fromJSON(.)))
这对你有帮助吗?