我想用 R 解析一个看似简单的 JSON 文件:
tmp_extract <- "{\"encrypted_values\":[{\"name_a\":\"value_a\"}, {\"name_b\":\"value_b\"}, {\"name_c\":\"value_c\"}]}"
尝试jsonlite::fromJSON
生成一个数据框,其中包含与名称一样多的列,并且每列只有一个值。
tmp_extract |>
jsonlite::fromJSON()
$encrypted_values
name_a name_b name_c
1 value_a <NA> <NA>
2 <NA> value_b <NA>
3 <NA> <NA> value_c
(我也尝试过tmp_extract |> tidyjson::spread_all()
,但没有成功。)
所需的输出:
# A tibble: 3 × 2
name value
<chr> <chr>
1 name_a value_a
2 name_b value_b
3 name_c value_c
使用 CRAN 包rjsoncons和JMESPath查询语法,在 JSON 中创建具有字段名称和值的对象
然后“旋转”到 tibble(或 data.frame)
这种方法高效且灵活;它也可以应用于 NDJSON。
尝试: