我有一个 json 数据文件,其中包含我想要使用的数据。它看起来像这样:
[
{"key1":1,"key2":2,"key3":[123],"key4":{"345":1}},
{"key1":2,"key2":4,"key3":[246],"key4":{"980":2},"key5":50}
]
我使用包 rjson 和 RJSONIO (到目前为止,他们给出了相同的结果)来阅读它,这就是我得到的:
> json_file = "~/Documents/test.json"
> test_json = fromJSON(paste(readLines(json_file, warn = FALSE), collapse = ""))
> test_json
[[1]]
[[1]]$key1
[1] 1
[[1]]$key2
[1] 2
[[1]]$key3
[1] 123
[[1]]$key4
345
1
[[2]]
[[2]]$key1
[1] 2
[[2]]$key2
[1] 4
[[2]]$key3
[1] 246
[[2]]$key4
980
2
[[2]]$key5
[1] 50
> summary(test_json)
Length Class Mode
[1,] 4 -none- list
[2,] 5 -none- list
所以,如果我理解正确,我会得到一个列表数组。但是由于这个数组显然有相同的键,我想将它转换成一个表——这样我就可以做像 test_json$key1 这样的事情。我怎样才能做到这一点?
(我希望很清楚我想要做什么,我对 R 很陌生,不知道所有正确的术语。我也不是暗示要你为我做这项工作,但是我怀疑在这种情况下可能有一个内置函数,或者如果没有,只是建议我应该朝哪个方向移动会很好)。