получить все возможные ключи / пути ключей в строке json в r - PullRequest
1 голос
/ 09 мая 2019

Как я могу получить все возможные пути json в строке json? Часто я получаю огромный

Например, я хотел бы получить что-то вроде:

result = data.frame(paths = c('name',
                                                      'name.first'
                                                      ,'name.last'
                                                      ,'address'
                                                      ,'address.city'
                                                      ,'address.state'
                                                      ,'age'
                                                      ,'income'
                                                      ,'block'))

 result

дано что-то вроде этого ...

myjson='{  

"name": {
"first": "jack",
"last": "smith"
},
"address": {"city": "bigtown", "state": "texas"},
"age": "21",
"income": "123",
"block" :["abc","xyz"]
}'

Я пытался поэкспериментировать с jsonlite::fromJson, но это, похоже, не дает мне того, что я хочу, точно.

1 Ответ

0 голосов
/ 09 мая 2019

Это даст вам полные пути:

data.frame(result = names(as.data.frame(jsonlite::fromJSON(myjson))))

         result
1    name.first
2     name.last
3  address.city
4 address.state
5           age
6        income
7         block   

Если вам нужны все частичные пути вместе со всеми полными путями:

data.frame(
  result = sort(unique(
    c(names(fromJSON(myjson)), 
      names(as.data.frame(jsonlite::fromJSON(myjson))))))
  )

         result
1       address
2  address.city
3 address.state
4           age
5         block
6        income
7          name
8    name.first
9     name.last
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...