这篇文章主要介绍了如何将一个json文档映射成一个Python对象?如何实现JSON文档与Python对象互换?通过对将一个JSON文档映射为Python对象问题的展开介绍主题内容,需要的朋友可以参考一下,希望给大家的学习带来一定的帮助 。
文章插图
对于json文档转换成一个Python对象的问题,一般在loads函数中使用的比较多,我们下面就是使用的loads函数进行操作,同时它也是一个经常在面试中出现的问题,它的转换方式可以分成两种,下面一一为大家讲解 。
方法一:现在假设我们有一个json文件,文件名叫“hh.json”,文件内容如下:
{ "name": "小王", "age": 19, "height": 180}操作实例:# coding=utf-8import jsonclass Product: def __init__(self, c): self.__dict__ = cwith open('hht.json', 'r', encoding='utf-8') as f: jsonStr = f.read() product = json.loads(jsonStr, object_hook=Product) print(type(product)) print(product.name)在这个案例中,我们首先做的第一件事情是通过json模块中的loads方法对它进行类型的转换,然后在转换的同时,对一个Product对象进行创建,使用构造函数的方法作为Python对象中的第二个参数,也就是c,这个c包含的就是一个json中的字典对象,我们又将一个d的方法赋值给了一个_dict_,就相当于是将一个属性值赋值给了一个属性,所以最后就可以将一个json文档转换成一个Python对象 。
方法二:不需要使用对象钩子进行一个对类的指定,而是直接使用一个转换函数,通过这个函数就可以对一个对象进行返回操作 。
举个例子:
# coding=utf-8import jsonclass Product: def __init__(self, c): self.__dict__ = cwith open('test.json', 'r', encoding='utf-8') as f: jsonStr = f.read() def json2Product(c): return Product(c) product1 = json.loads(jsonStr, object_hook=json2Product) print(type(product1)) print(product1.name)在json中包含的这个loads函数,它可以直接对一个json文件进行操作,并且转换成一个json对象,同时它需要一个参数object_hook参数对一个钩子对象进行指定,然后再进行操作 。
【如何将一个json文档映射成一个Python对象?如何实现JSON文档与Python对象互换?】到此这篇关于如何将一个json文档映射成一个Python对象?如何实现JSON文档与Python对象互换?的文章就介绍到这了,更多相关JSON映射内容可以继续关注学习 。
推荐阅读
- Python中的处理命令行的模块有哪些?如何通过Python命令行实现参数的输入?
- Python如何生成随机密码?Python随机密码生成代码怎么写
- pycharm如何实现跨目录调用文件?pycahrm在不同目录下如何对文件进行调用?
- Python如何将爬取的数据保存为csv文件?爬取的数据保存为csv格式的方法有哪些?
- 如何在pycharm中写Python代码?打开pycharm之后如何对代码进行写入?
- Python中多行匹配模式是什么意思?Python如何实现多行匹配
- Python中的reduce函数如何使用?Python中reduce函数详解
- Python如何替换字符串中某个单词?Python怎么换字符串值
- Python如何按固定长度分割字符串?Python怎么将字符串分割为相同长度
- Python如何将多个字典合并?Python合并字典怎么做