如何在python中将分隔的字符串转换为分层JSON。我在jQuery中看到了类似问题的解决方案。我一直试图找到同样的python解决方案。
Convert delimited string into hierarchical JSON with JQuery
目标是从一堆URL中生成类别的分层json,这些URL可能如下所示
运动/网球/ grandslams
体育/棋
体育/棋/播放/人
运动/网球
运动/板球/场馆
运动/网球/运动员
答案 0 :(得分:8)
您可以使用词典实现此目的:
initial = ["Fred-Jim","Fred","Fred-Jim-Bob", "Fred-Jim-Jack", "John", "John-Jim"]
result = {}
for item in initial:
hierarchy = item.split('-')
local_result = result
for node in hierarchy:
local_result = local_result.setdefault(node, {})
print result
会给你:
{
'John': {
'Jim': {}
},
'Fred': {
'Jim': {
'Bob': {},
'Jack': {}
}
}
}
答案 1 :(得分:0)
您是否正在寻找json.dumps()
模块中的json
?
编辑: 哦,好的,我现在能帮到你。也许是这样的:
#paths is a list of strings containing the paths you are scraping from your site.
hierarchy = {}
for path in paths:
cursor = hierarchy
for part in path.split('/'):
if part not in cursor:
cursor[part] = {}
cursor = cursor[part]