因此,我用python编写了以下命令:
{'documentType': {'documentTypeId': 'XXXXXXXXXXXXXX',
'documentTypeName': 'XXXXXXXXXXXXXXXXXXXX',
'documentTypeVersion': 1},
'tags': [{'boundingBoxCoOrdinates': {'x1': 440.66135,
'y1': 894.0904,
'x2': 468.74966,
'y2': 917.39105},
'digitalPdfTagDetails': {'startPage': 0,
'endPage': 0,
'startCharIndex': 0,
'endCharIndex': 0},
'editedDate': 'SOMEDATET12:47:36Z',
'contains': True,
'tagId': 0,
'tagName': 'SOMETAG',
'type': 'SOMETYPE',
'color': '#SOMECOLOR',
'extractedData': '',
'editedData': '',
'editedBy': 'SOMEPERSON'}],
'uploadedFileId': 'SOMEID',
'imageHeight': 55,
'imageWidth': 55,
'Engine': 'SOMEPROCESSINGENGINE',
'fileName': 'SOMEFILENAME.jpg'}
当我在JSON参数中使用Requests库将其传递给POST api时,我会收到
TypeError: Object of type 'float32' is not JSON serializable
我怀疑,这是因为“boundingBoxCoOrdinates”中的值是numpy.float32类型。如果我使用astype(numpy.float64)将它们转换为numpy.float64,那么它似乎工作正常
如何转换此DICT中的所有此类值,以便JSON可序列化错误不会持续存在
编辑:“标记”列表中可以有多个这样的字典
如请求文档here中所述,您可以使用
json
参数让请求管理dict的编码,如下所示:但是,由于您得到了该错误,您可以尝试自己对dict进行编码,并通过
data
参数发送它,如下所示:对于不符合标准数据类型范围的所有数据类型,都需要使用自定义编码器
自定义编码器是通过子类化
json.JSONEncoder
类创建的:您可以在json调用中使用默认参数来处理numpy数组的转换:
相关问题 更多 >
编程相关推荐