我正在尝试使用jsonlite包,我遇到了fromJSON函数的问题。我在https://arxiv.org/pdf/1403.2805.pdf阅读了https://cran.r-project.org/web/packages/jsonlite/index.html和文档,但我仍然不明白这一点......
考虑以下名为JsonFileOne.json的json文件:
{"cars": [ {"models" : [ {"type":"Fiesta"} ] } ] }
当我尝试命令
时data<-fromJSON(“JsonFileOne.json”)
我认为第一个数组“cars”被读作R data.frame,而第二个数组“models”是R列表。另外,对象“type”是一个没有名称的列表(数据$ cars $ models)是NULL。
为什么第一个数组作为data.frame读取,第二个数组作为列表读取? fromJSON用于将R数据类型分配给json实体的标准是什么?为什么第二个数组中的对象没有命名为“type”,而是没有名字?
答案 0 :(得分:1)
'models'作为列表包含[[1]]
中的数据框,因此您可以获得列名'type'。
names(data$cars$models[[1]])
[1] "type"
data$cars$models[[1]]
type
1 Fiesta
“type”列中的对象不是列表。 'Fiesta'是对变量'type'的观察,可以像这样访问:
data$cars$models[[1]][1,]
[1] "Fiesta"
或
data$cars$models[[1]]$type
[1] "Fiesta"