我正在尝试读取json文件并提取一些文件以创建数据框。
我已经尝试了好几次,但是由于它是一个内部列表,所以我无法获取变量“产品类型”。
我需要提取以下变量: 用户名,用户电子邮件和产品类型。
名称和电子邮件很容易获得,但是有人可以帮助我获得产品类型吗?
非常感谢
require("jsonlite")
json_file <-NULL
json_file <- fromJSON("RStudio/teste2.json")
json_file<- json_file$data$
json_file$data <- lapply(json_file$data, function(x) {
x[sapply(x, is.null)] <- NA
unlist(x)
})
json_file$data<-as.data.frame(do.call("rbind", json_file$data))
test <- cbind.data.frame(
json_file$data$user$name,
json_file$data$user$email,
json_file$data$user$Prducts$Type
)
这是我正在阅读的json的示例
{
"statusCode": 200,
"meta": {
"code": 200,
"message": "OK"
},
"data": [
{
"user": {
"id": "122344535423sfdf",
"name": "John Silva",
"email": "john@mail.com",
"birthdate": "1982-10-12"
},
"products": [
{
"id": 101,
"type": "meals",
"name": "salad",
"price": 34567
}
]
},
{
"user": {
"id": "1rwrwtry533ef",
"name": "Mary Gomes",
"email": "mary@mail.com",
"birthdate": "1989-12-15"
},
"products": [
{
"id": 101,
"type": "drinks",
"name": "orange juice",
"price": 199
}
]
}
]
}
答案 0 :(得分:0)
# Load the package required to read JSON files.
library("rjson")
# Give the input file name to the function.
result <- fromJSON(file = "input.json")
# Convert JSON file to a data frame.
json_data_frame <- as.data.frame(result)
现在json_data_frame将包含所需的json的确切数据帧。