在python中将分隔的字符串转换为分层JSON

时间:2012-04-19 14:10:47

标签: python json

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

Convert delimited string into hierarchical JSON with JQuery

目标是从一堆URL中生成类别的分层json,这些URL可能如下所示 运动/网球/ grandslams
体育/棋
体育/棋/播放/人
运动/网球
运动/板球/场馆
运动/网球/运动员

2 个答案:

答案 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]