6

如何在 python 中将分隔字符串转换为分层 JSON。我在 jQuery 中看到了类似问题的解决方案。我一直在尝试找到一个相同的python解决方案。

使用 JQuery 将分隔字符串转换为分层 JSON

目标是从一堆 URL 中生成一个层次结构的 json,这些 URL 可能如下所示
:运动/网球/大满贯
运动/国际象棋
运动/国际象棋/球员/男子
运动/网球
运动/板球/体育场
运动/网球/球员

4

2 回答 2

9

您可以使用字典实现此目的:

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': {}
        }
    }
}
于 2012-04-19T14:23:02.043 回答
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]
于 2012-04-19T14:16:15.083 回答