如何用Python递归打印JSON树状结构?

如何用python递归打印json树状结构?

如何用 python 深入遍历 json 结构,按树结构打印?

在处理复杂多层的 json 数据时,按层次结构打印其内容会更有条理和可读性。

问题:

本文提供了一个 json 结构,需要将其所有节点深度遍历并按树结构打印出来。

立即学习“Python免费学习笔记(深入)”;

答案:

为了实现嵌套 json 数据的树状打印,我们可以使用 python 的递归方法:

def print_json_tree(json_obj, indent=0):    if isinstance(json_obj, dict):        for key, value in json_obj.items():            print('-' * indent + str(key))            print_json_tree(value, indent+2)    elif isinstance(json_obj, list):        for item in json_obj:            print_json_tree(item, indent+2)    else:        print('-' * indent + str(json_obj))

这种方法会逐层递归遍历 json 对象,并将每个键值对或列表元素打印为缩进的字符串。通过指定缩进参数,我们可以控制树状打印的层次结构。

示例:

使用示例 json 结构:

{  "id": "series",  "css": "wrapper",  "html": [    {      "id": "series",      "css": "header",      "html": [        {          "css": "topbar",          "html": []        },        {          "css": "mask",          "html": []        },        {          "css": "layer",          "html": []        }      ]    },    {      "id": "series",      "css": "container",      "html": []    },    {      "position": []    },    {      "footer": []    }  ]}

输出结果:

-id--series-css--wrapper-html--0---id----series---css----header---html----0-----css------topbar-----html-------""----1-----css------mask-----html-------""----2-----css------layer-----html-------""--1---id----series---css----container---html-------""--2---position-------""--3---footer-------""

以上就是如何用Python递归打印JSON树状结构?的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1354208.html

赞 (0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
什么是 NullPointerException,如何修复它?
上一篇 2025年12月13日 18:21:45
Flask购物车数量无法更新:session.modified = True 的作用是什么?
下一篇 2025年12月13日 18:22:00

相关推荐

发表回复

登录后才能评论
关注微信