json encoder

来源:互联网 发布:51单片机蓝牙模块at 编辑:程序博客网 时间:2024/06/10 18:55

在项目中需要将类转换成json的格式存储,考虑到比较简单的方式是继承json自带的JSONEncoder,修改其中的内容使其可以将类转换成我需要的json形式。

在官网有找到如下内容:

import jsonclass ComplexEncoder(json.JSONEncoder):    def default(self, obj):        if isinstance(obj, complex):            return {"real": obj.real, "imag": obj.imag}        return json.JSONEncoder.default(self, obj)tmp = json.dumps(2+1j, cls=ComplexEncoder)print typeof(tmp)print ComplexEncoder().encode(2+1j)

输出结果:

{"real": 2.0, "imag": 1.0}
0 0