是否有一个Python JSON编码器可以正常工作?
我知道在很多情况下这可能是一个愚蠢的问题,但是否存在一个Python JSON编码器,它可以将所有不理解的内容(例如float32、float64、高精度十进制等)转换为字符串是否有一个Python JSON编码器可以正常工作?,python,json,Python,Json,我知道在很多情况下这可能是一个愚蠢的问题,但是否存在一个Python JSON编码器,它可以将所有不理解的内容(例如float32、float64、高精度十进制等)转换为字符串 我很难在我的数据结构中进行多层次的深度迭代,以转换所有数据类型json,simplejson和ujson模块对此表示不满。通过将default参数设置为只调用str()的函数,很容易让标准json模块实现您想要的功能关于其参数: import json class MyObject(object): def _
我很难在我的数据结构中进行多层次的深度迭代,以转换所有数据类型json,simplejson和ujson模块对此表示不满。通过将
default
参数设置为只调用str()的函数,很容易让标准json
模块实现您想要的功能
关于其参数:
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)
这将为任何不属于以下条件之一的obj
调用string(obj)
输入json
模块能够进行本机编码。上面的例子
结果:
{
"simple_int": 42,
"simple_string": "i encode easily",
"complex": "this is a test"
}
通过将
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)
这将为任何不属于以下条件之一的obj
调用string(obj)
输入json
模块能够进行本机编码。上面的例子
结果:
{
"simple_int": 42,
"simple_string": "i encode easily",
"complex": "this is a test"
}
通过将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)
这将为任何不属于以下条件之一的obj
调用string(obj)
输入json
模块能够进行本机编码。上面的例子
结果:
{
"simple_int": 42,
"simple_string": "i encode easily",
"complex": "this is a test"
}
通过将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)
这将为任何不属于以下条件之一的obj
调用string(obj)
输入json
模块能够进行本机编码。上面的例子
结果:
{
"simple_int": 42,
"simple_string": "i encode easily",
"complex": "this is a test"
}
你可以试试(我是一个贡献者)你可以试试(我是一个贡献者)你可以试试(我是一个贡献者)你可以试试(我是一个贡献者)很好。非常感谢。我觉得这应该在文档中更加明确。它在文档的一节中:“default(obj)是一个函数,应该返回obj的可序列化版本或raise TypeError。默认值只会引发TypeError。”lambda obj:str(obj)
只是str
:json.dumps(…,default=str,indent=2)
非常好。非常感谢。我觉得这应该在文档中更加明确。它在文档的一节中:“default(obj)是一个函数,应该返回obj的可序列化版本或raise TypeError。默认值只会引发TypeError。”lambda obj:str(obj)
只是str
:json.dumps(…,default=str,indent=2)
非常好。非常感谢。我觉得这应该在文档中更加明确。它在文档的一节中:“default(obj)是一个函数,应该返回obj的可序列化版本或raise TypeError。默认值只会引发TypeError。”lambda obj:str(obj)
只是str
:json.dumps(…,default=str,indent=2)
非常好。非常感谢。我觉得这应该在文档中更加明确。它在文档的一节中:“default(obj)是一个函数,应该返回obj的可序列化版本或raise TypeError。默认值只会引发TypeError。”lambda obj:str(obj)
只是str
:json.dumps(…,default=str,indent=2)