美文网首页Pythonpython
Python实现对象转json

Python实现对象转json

作者: itfitness | 来源:发表于2022-07-12 11:02 被阅读0次

该函数会将对象转换为json数据,其中key为变量名,值为变量值

def obj2json(obj, atom_type: list = None, collect_type: list = None) -> str:
    def _obj2dict(in_obj, dc: dict, _atom_type, _collect_type):
        if isinstance(in_obj, dict):
            dict_obj = in_obj
        else:
            dict_obj = in_obj.__dict__
        for key, value in dict_obj.items():
            if value is None:
                dc[key] = None
            elif isinstance(value, _atom_type):
                dc[key] = value
            elif isinstance(value, dict):
                dc[key] = dict()
                _obj2dict(value, dc[key], _atom_type, _collect_type)
            elif isinstance(value, _collect_type):
                dc[key] = list()
                for item in value:
                    sub_dc = dict()
                    _obj2dict(item, sub_dc, _atom_type, _collect_type)
                    dc[key].append(sub_dc)
            else:
                dc[key] = dict()
                _obj2dict(value, dc[key], _atom_type, _collect_type)

    ret = dict()
    if not atom_type:
        _atom_type = (int, float, str, bool, bytes)
    else:
        _atom_type = tuple(set(atom_type + [int, float, str, bool, bytes]))
    if not collect_type:
        _collect_type = (set, tuple, list)
    else:
        _collect_type = tuple(set(collect_type + [set, tuple, list]))
    _obj2dict(obj, ret, _atom_type, _collect_type)
    return ret

相关文章

  • Python实现对象转json

    该函数会将对象转换为json数据,其中key为变量名,值为变量值

  • py3笔记8:json结构的校验

    1. Json模块 python中使用json模块实现python对象与json的转换 json.dumps():...

  • JSON 和 qs

    JSON JSON对象转字符串 JSON字符串转对象 高级用法 实现深拷贝 qs qs 是 npm 包模块 安装 ...

  • python对象转json

    最近在准备自己写一个静态的博客,顺手写了一个python的对象转字典的方法准备给数据库抓下来的数据做转型,毕竟py...

  • Python基础之JSON

    作用 对Python对象进行序列化,便于存储和传输 Python对象与JSON字符串相互转换 Python对象转J...

  • GSON解析JSON数据

    依赖 基本数据类型 JSON转对象 对象转JSON串 JSON串转List JSON串转Map

  • java json 数据操作

    阿里巴巴 json字符串转object json字符创转现有对象 json字符串转json对象 json对象重复引...

  • js中json对象和字符串的转换

    转自Kindem的博客 json对象转json字符串 json字符串转json对象

  • jq与json

    json字符串转json对象:jQuery.parseJSON(jsonStr); json对象转json字符串:...

  • json与python

    Python 对象编码成 JSON 字符串 json.dumps 用于将 Python 对象编码成 JSON 字符...

网友评论

    本文标题:Python实现对象转json

    本文链接:https://www.haomeiwen.com/subject/hdgzbrtx.html