我理解这在许多情况下可能是一个愚蠢的问题,但是否存在一个Python JSON编码器,它将它不理解的所有内容(例如,float32,float64,高精度小数等)转换为字符串?
我很难在我的数据结构中深入迭代多个级别来转换所有数据类型json,simplejson& ujson模块抱怨。
答案 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(我是撰稿人)