如何在 python 中将分隔字符串转换为分层 JSON。我在 jQuery 中看到了类似问题的解决方案。我一直在尝试找到一个相同的python解决方案。
目标是从一堆 URL 中生成一个层次结构的 json,这些 URL 可能如下所示
:运动/网球/大满贯
运动/国际象棋
运动/国际象棋/球员/男子
运动/网球
运动/板球/体育场
运动/网球/球员
如何在 python 中将分隔字符串转换为分层 JSON。我在 jQuery 中看到了类似问题的解决方案。我一直在尝试找到一个相同的python解决方案。
目标是从一堆 URL 中生成一个层次结构的 json,这些 URL 可能如下所示
:运动/网球/大满贯
运动/国际象棋
运动/国际象棋/球员/男子
运动/网球
运动/板球/体育场
运动/网球/球员
您可以使用字典实现此目的:
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': {}
}
}
}
你在找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]