python解析json字符串并返回支持属性访问的对象
来源:互联网 发布:数据库物理设计 编辑:程序博客网 时间:2024/05/16 08:26
需求
将任意一个json字符串,转换为python的object对象,转换后支持使用属性访问
代码
from argparse import Namespaceimport jsondef json_to_object(data): return json.loads(data, object_hook=lambda d: Namespace(**d))with open("default.json") as f: args = json_to_object(f.read())
分析
默认情况下,json.loads()返回的是一个dict对象,不支持使用属性访问,因此极为不便
>>> import json>>> s = json.loads('{"name":"rumor","age":25}')>>> s{u'age': 25, u'name': u'rumor'}>>> type(s)<type 'dict'>>>> s.nameTraceback (most recent call last): File "<stdin>", line 1, in <module>AttributeError: 'dict' object has no attribute 'name'
而json解析命令行使用的argparse,可以任意规定命令行关键字,并能使用属性访问。
查看argparse源码可以看到argparser调用parse_args()后返回的是一个Namespace对象,这里拿来借用一下;
同时,json.loads有个名为object_hook的参数,支持将object进行转换,因此结合起来就有了以上代码。
0 0
- python解析json字符串并返回支持属性访问的对象
- java直接访问链接url,并对返回的json字符串进行解析
- Alibaba FastJson支持对象中私有属性的json解析
- java调用http接口并解析返回的json对象
- ajax解析success返回的对象json字符串
- Python实现支持JSON存储和解析的对象
- Jackson 后台将javabean对象、List转为json格式字符串并返回,同时前台解析
- 服务器端返回的JSON字符串 怎样在 JS中转换成可访问的 JSON对象
- 返回并解析json
- 使用jQuery POST提交数据返回的JSON是字符串不能解析为JSON对象
- 使用jQuery POST提交数据返回的JSON是字符串不能解析为JSON对象
- 使用jQuery POST提交数据返回的JSON是字符串不能解析为JSON对象
- java解析json中的所有属性并返回
- android访问服务器并解析返回的XML和JSON数据
- android 客户端访问自己建立的服务器并返回JSON数据进行解析学习
- 通过json字符串传对象集合,在js中访问对象的属性
- 解析HTTP POST方式请求的xml数据、本地XML文件数据, 并返回JSON字符串
- python 解接口返回的json字符串
- fragment的onResume方法中加载数据配置低的机型容易出现APP异常
- java线程内存模型,线程、工作内存、主内存
- 【codeforces 764B】Timofey and cubes 题解
- 利用GridView实现单选功能
- ラーメン用語10選
- python解析json字符串并返回支持属性访问的对象
- JavaEE jsp的内置对象及其在Servlet中的表示
- Adroid评分和分享功能
- xutils向服务器发送表单
- FragmentTabHost的使用
- Python几种并发实现方案的性能比较
- PhpExcel中文帮助手册|PhpExcel使用方法
- $(function()与(function($)等的区别详细
- 我理解的oop