1

我在传递 Json 数据帧时遇到了下面提到的错误。

Error in data.frame(Addr = "London", companyName = "Eagle SUITS",  : 
  arguments imply differing number of rows: 1, 0, 2 In addition: Warning message:
In data.frame(Addr = "NA", companyName = "SAMTEK ENTERPRISES",  :
  row names were found from a short variable and have been discarded

我的数据框:

view(df_1)

json_data                id
{Data in json format}    123
{Data in json format}    456
{Data in json format}    789

我正在使用下面提到的代码:

library(jsonlite)
json_dfs <- mapply(f, df_1$json_data, df_1$id, SIMPLIFY = FALSE)

来自 OP 的 JSON 文件内容:view(df_1$json_data)

4

1 回答 1

0

问题似乎出在f用于转换 json 数据并将 ID 与 JSON 合并的函数中。数据是嵌套数据,因此JSON最好append作为list解析后创建的一部分,json然后将其转换为所需的格式。

我建议将功能修改为:

f_JSON_Transform <- function(json, id){ 
  # transform json to list 
  tmp <- jsonlite::fromJSON(json) 
  # Append ID in list 
  tmp <- c(tmp, ID = id)
  # return 
  return(tmp) 
}
# Below call works without any error
json_lists <- mapply(f_JSON_Transform, df1$json_data, df1$id, SIMPLIFY = FALSE)

#Result
#Output is too long to write here...but it is like
#$test.txt$agreementOfficeAddr
#[1] "NA"

#$test.txt$companyName
#[1] "SAMTEK ENTERPRISES"

#$test.txt$companyAddress
#[1] "E-524,GALI NO- 45, NEAR CHAND MASJID,SHASTRI PARK"
#......
#......
于 2018-01-28T20:52:17.603 回答