fromJSON数据类型

时间:2018-05-10 07:45:20

标签: r json jsonlite

我正在尝试使用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”,而是没有名字?

1 个答案:

答案 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"