r - 在r中的json字符串中获取所有可能的键/键路径
问题描述
如何在 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
但这似乎并没有让我得到我所追求的东西。
解决方案
这将为您提供完整路径:
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
推荐阅读
- rust - 使用图像箱时如何获得 u8 RGB 值的向量?
- jquery - 如何在页面加载时将 Bootstrap Modal 变成弹出窗口?
- r - 如果一个函数是在另一个函数中创建的,那么函数常量存储在哪里?
- python-3.x - Python根据行数在定义数量的文本框中打印值
- sql - 每条记录都有一个新行
- vba - sharepoint 2013 使用 VBA 访问
- scheme - Racket R6RS 支持:语法案例
- apache-kafka - 火花结构化流式写入错误
- javascript - JavaScript:如果没有通过 CSS 明确定义,则获取元素的大小
- python - 在python中将列表写入csv