【发布时间】:2020-01-22 06:05:12
【问题描述】:
我正在尝试从 R 中展平嵌套的 JSON 文件,
这是我当前的代码
library(jsonlite)
json_file <- "json file"
json_data = fromJSON(json_file, flatten = FALSE)
flat_data = as.data.frame(json_data)
但是我收到以下错误
flat_data = as.data.frame(json_data) 错误(函数(...,row.names = NULL,check.rows = FALSE,check.names = TRUE,: 参数暗示不同的行数:1、13、3201
这是我的 JSON 结构示例
{
"RIDE":{
"STARTTIME":"2020\/01\/05 22:27:49 UTC ",
"RECINTSECS":1,
"DEVICETYPE":"Garmin FR735XT ",
"IDENTIFIER":" ",
"TAGS":{
"Aerobic Training Effect":"3.8 ",
"Athlete":"Chuck Finley",
"Data":" ",
"Device":"Garmin",
"Device Info":"HR Garmin 2327",
"File Format":" ",
"Filename":"2020_01_06_06_27_49.json ",
"Month":"January ",
"Performance Condition":"-5 ",
"Recovery Time":" ",
"Source Filename":"A1662750_2020_01_06_06_27_49.gz ",
"Sport":"Run ",
"SubSport":" ",
"VO2max detected":"61.7 ",
"Weekday":"Mon ",
"Workout Code":" ",
"Year":"2020 "
},
"INTERVALS":[
{ "NAME":"Lap 1 ", "START": 0, "STOP": 249, "COLOR":"#000000", "PTEST":"false" },
{ "NAME":"Lap 2 ", "START": 250, "STOP": 504, "COLOR":"#000000", "PTEST":"false" }
],
"SAMPLES":[
{ "SECS":0, "KM":0, "KPH":0, "HR":104, "ALT":14, "LAT":-40.402758436, "LON":175.0371112, "SLOPE":0, "LRBALANCE":0, "RCAD":109.5, "RVERT":0.47, "RCON":273 },
{ "SECS":1, "KM":0.00056, "KPH":0, "HR":104, "ALT":14, "LAT":-40.402758436, "LON":175.0371112, "SLOPE":0, "LRBALANCE":24.87, "RCAD":109.5, "RVERT":0.47, "RCON":273 }
],
"XDATA":[
{
"NAME" : "EXTRA",
"VALUES" : [ "STANCETIMEPERCENT", "VERTICALRATIO", "STEPLENGTH", "FIELD_88", "ACTIVITYTYPE", "PERFORMANCECONDITION" ],
"UNITS" : [ "", "", "", "", "", "" ],
"SAMPLES" : [
{ "SECS":1, "KM":0, "VALUES":[ 48.5, 0, 0, 300, 1, 0 ] },
{ "SECS":2, "KM":0, "VALUES":[ 48.5, 4.96, 891, 300, 1, 0 ] }
]
}
]
}
}
我对 R 很陌生,所以任何建议都将不胜感激。
【问题讨论】:
-
恐怕我在使用您的示例时不会收到任何错误。我确实使用“test_file.json”,即包含 JSON 的文件的名称,而不是“json 文件”,
fromJSON将尝试将其解释为 JSON 的字符串。as.data.frame按预期工作并生成 JSON 数据的数据框。 -
嗨@gersht,谢谢 - 我已经使用我提供的数据进行了测试并且它有效,但这只是测试数据。这让我可以缩小问题的范围,在真实数据集中,“INTERVALS”有 13 条记录,“Sample”有 3201 条记录。谢谢!
-
我想你的问题已经解决了?