如何像 JavaScript一样访问Json对象

这篇博客探讨了如何在Python中实现类似JavaScript的快速访问JSON对象的功能。通过介绍Python的魔术方法和`classmethod`装饰器,文章详细解析了一种实现方式,并提供了代码分析和功能演示。此外,还强调了Python标准库的重要性。
摘要由CSDN通过智能技术生成

写在前面

首先我们看一段 JS 的代码:

// 数据为掘金文章详情数据,做了部分数据的删简
result = '{"err_no":0,"err_msg":"success","data":{"article_id":"6985356541389963300","article_info":{"article_id":"6985356541389963300","user_id":"993614678985085","category_id":"6809637769959178254","tag_ids":[6809640445233070094,6809640468997996558],"visible_level":0,"link_url":"","cover_image":"","is_gfw":0,"title":"如何发布 Jar 包到私服","brief_content":"事情是这样的,最近接手一个比较复杂的 Java 项目。项目依赖其他工具包,工具包更新后需要上传到私服;今天就看看如何发布 Jar 包到私服。"},"author_user_info":{"user_id":"993614678985085","user_name":"西红柿蛋炒饭","job_title":"开发工程师","description":"一个 写 Python Java JavaScript 的全栈开发","university":{"university_id":"0","name":"","logo":""}},"category":{"category_id":"6809637769959178254","category_name":"后端","category_url":"backend"},"tags":[{"id":2546553,"tag_id":"6809640445233070094","tag_name":"Java"},{"id":2546571,"tag_id":"6809640468997996558","tag_name":"maven"}]}}'

obj = JSON.parse(result)
obj.err_msg    // success
obj.data.article_info.title    // 如何发布 Jar 包到私服
obj.data.tags[1].tag_name    // maven

  在 JavaScript 中可以使用 JSON.parse 快速序列化 JSON 对象。
那么问题来了作为同类型语言的 Python 是否可以有类似的功能呢?
答案明显是有的,下面看看 Python 的实现:

import json

result = '{"err_no":0,"err_msg":"success","data":{"article_id":"6985356541389963300","article_info":{"article_id":"6985356541389963300","user_id":"993614678985085","category_id":"6809637769959178254","tag_ids":[6809640445233070094,6809640468997996558],"visible_level":0,"link_url":"","cover_image":"","is_gfw":0,"title":"如何发布 Jar 包到私服","brief_content":"事情是这样的,最近接手一个比较复杂的 Java 项目。项目依赖其他工具包,工具包更新后需要上传到私服;今天就看看如何发布 Jar 包到私服。"},"author_user_info":{"user_id":"993614678985085","user_name":"西红柿蛋炒饭","job_title":"开发工程师&
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值