来自 JSON 数据类型

fromJSON data types

我正在尝试使用 jsonlite 包,但我对 fromJSON 函数有疑问。我读了 https://arxiv.org/pdf/1403.2805.pdf and and documentation at 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”是一个没有名称的列表,因为 names(data$cars$models) 为 NULL。

为什么第一个数组读取为 data.frame 而第二个数组读取为列表? fromJSON 使用什么标准将 R 数据类型分配给 json 个实体?为什么第二个数组中的对象没有命名为“类型”,而是没有名称?

'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"