是否有一个只能工作的Python JSON编码器?

时间:2015-07-31 01:35:56

标签: python json

我理解这在许多情况下可能是一个愚蠢的问题,但是否存在一个Python JSON编码器,它将它不理解的所有内容(例如,float32,float64,高精度小数等)转换为字符串?

我很难在我的数据结构中深入迭代多个级别来转换所有数据类型json,simplejson& ujson模块抱怨。

2 个答案:

答案 0 :(得分:4)

通过将json参数设置为仅在其参数上调用default的函数,可以很容易地使标准str()模块执行您想要的操作:

import json

class MyObject(object):
    def __init__(self, value):
        self.value = value

    def __str__(self):
        return str(self.value)

print json.dumps(
    {
        'simple_string': 'i encode easily',
        'simple_int': 42,
        'complex': MyObject('this is a test')
    }, default=str, indent=2)

对于任何不属于其中的string(obj),我们会致电obj 类型json模块能够本机编码。上面的例子 结果:

{
  "simple_int": 42, 
  "simple_string": "i encode easily", 
  "complex": "this is a test"
}

答案 1 :(得分:-1)

您可以尝试JSONPickle(我是撰稿人)