当前位置: 代码网 > it编程>前端脚本>Python > Python中Json和其他类型相互转换的实现示例

Python中Json和其他类型相互转换的实现示例

2025年09月21日 Python 我要评论
项目中经常会用到json格式转为object对象、dict字典格式等。在此做个记录,方便后续用到该方法可以快速复制粘贴。需要用到json包。loads():将json数据转换成为dict字典数据loa

项目中经常会用到json格式转为object对象、dict字典格式等。在此做个记录,方便后续用到该方法可以快速复制粘贴。
需要用到json包。

  • loads():将json数据转换成为dict字典数据
  • load(): 读取json文件数据,转成dict数据
  • dumps():将dict数据转化成json数据
  • dump(): 将dict数据转换成为json数据之后再写入json文件
"""
@description: json和其他类型之间互转
"""
import json
import os

class jsontoothertype:
    """
    @classname: jsontoothertype
    @description: json数据和其他数据之间互转
        loads():将json数据转换成为dict字典数据
        load():读取json文件数据,转成dict数据
        dumps():将dict数据转化成json数据
        dump():将dict数据转换成为json数据之后再写入json文件
    """
    def __init__(self):
        """
        @description:
        """
        pass

    # 设置为静态方法
    @staticmethod
    def dict_to_json(dict_data:dict):
        """
        @description: dict字典转json数据
        :param dict_data 字典数据
        :return json_data 返回json类型数据
        """
        try:
            json_data = json.dumps(dict_data)
        except exception as e:
            return e
        return json_data

    @staticmethod
    def obj_to_json(obj_data:object):
        """
        @description: 对象转json数据
            obj.__dict__:将对象转换成为dict字典类型
            json.dumps():再将字典类型转化为json数据
        :param obj_data 对象数据
        """
        try:
            dict_data = obj_data.__dict__
            #转换dict字典类型
            json_data = json.dumps(obj=dict_data)
        except exception as e:
            return e
        return json_data

    @staticmethod
    def json_to_dict(json_data:str):
        """
        @description: json数据转换成为dict字典数据
        :param json_data json数据
        :return dict_data 返回dict字典数据
        """
        try:
            dict_data = json.loads(s=json_data)
        except exception as e:
            return e
        return dict_data

    @staticmethod
    def json_to_obj(json_data:str,obj:object):
        """
        @description: json数据转换成为obj对象
            1.先将json数据转换成为dict字典数据
            2.再将字典数据转换成为obj对象
        :param json_data json数据
        :param obj 需要转换的obj对象
        :return obj 返回的对象
        """
        try:
            dict_data = json.loads(s=json_data)
            obj.__dict__ = dict_data
        except exception as e:
            return e
        return obj

    @staticmethod
    def dict_to_json_write_file(dict_data:dict,filepath:str,filename:str):
        """
        @description: 将dict数据转换成为json数据之后再写入json文件
            dump():将dict数据转换成为json数据之后再写入json文件
        :param dict_data 字典数据
        :param filepath 文件路径
        :param filename 文件名字
        """
        try:
            with open (os.path.join(filepath,filename),'w',encoding='utf-8') as f:
                # 会在对应路径下生成一个filename名字的文件,文件内容是dict字典数据转换成的json数据
                json.dump(dict_data,f)
        except exception as e:
            return e

    @staticmethod
    def json_file_to_dict(filepath:str,filename:str):
        """
        @description: 读取json文件中的数据,将文件内容转换成为dict字典数据
            load():读取json文件数据,转成dict数据
        :param filepath 文件路径
        :param filename 文件名字
        :return dict_data 返回的字典数据
        """
        try:
            with open(os.path.join(filepath,filename),'r',encoding='utf-8') as f:
                dict_data = json.load(fp=f)
        except exception as e:
            return e
        return dict_data

到此这篇关于python中json和其他类型相互转换的实现示例的文章就介绍到这了,更多相关python json和其他类型相互转换内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网! 

(0)

相关文章:

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

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com