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

标签 python json

如何在 Python 中将定界字符串转换为分层 JSON? (我看到了一个 solution for a similar question in jQuery 。我一直在尝试为它找到一个 Python 解决方案。)

目标是从一堆 URL 生成类别的分层 JSON,可能如下所示:

sport/tennis/grandslams  
sport/chess  
sport/chess/players/men  
sport/tennis  
sport/cricket/stadiums  
sport/tennis/players  

最佳答案

你可以用字典来实现:

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': {}
        }
    }
}

关于python - 在python中将分隔字符串转换为分层JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10229925/

相关文章:

arrays - 如何在 Apache Spark 中分解 get_json_object

javascript - 在Angular js中访问Json数据

python - Django 模型不可 JSON 序列化

json - 如何在Go中解析firestore get()快照json

python - matplotlib 中是否有任何行为像 alpha 但相反的东西?

python - 为什么设置窗口图标时没有定义 .ico 文件?

python - 按下按键时 pygame 继续循环

python - Pandas 按 block 而不是单个值进行分组

java - JSON 查询不更新 TextView

python - 在每次测试运行时生成相同的概率分布