开发者

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

开发者 https://www.devze.com 2025-08-23 09:20 出处:网络 作者: 一个小坑货
项目中经常会用到json格式转为object对象、dict字典格式等。在此做个记录,方便后续用到该方法可以快速复制粘贴。需要用到json包。

项目中经常会用到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.rwdybdumps(dict_data)
        except Exception as e:
            retuphprn 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 opepythonn (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和其他类型相互转换内容请搜索编程客栈(www.devze.com)以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程客栈(www.devze.com)! 

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号