Um arquivo JSON aparentemente simples que gostaria de analisar com R:
tmp_extract <- "{\"encrypted_values\":[{\"name_a\":\"value_a\"}, {\"name_b\":\"value_b\"}, {\"name_c\":\"value_c\"}]}"
Uma tentativa jsonlite::fromJSON
produz um dataframe com tantas colunas quantos nomes e apenas um valor por coluna.
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
(Eu também tentei, tmp_extract |> tidyjson::spread_all()
mas sem sucesso.)
A saída desejada:
# A tibble: 3 × 2
name value
<chr> <chr>
1 name_a value_a
2 name_b value_b
3 name_c value_c
Usando o pacote CRAN rjsoncons e a sintaxe de consulta JMESPath , crie em JSON um objeto com nome e valor dos campos
em seguida, 'pivô' para um tibble (ou data.frame)
Essa abordagem é eficiente e flexível; também pode ser aplicado ao NDJSON.
Tentar: