什么" TypeError:(1,2,3)不是JSON可序列化的"意思?

时间:2016-08-03 21:03:43

标签: python objective-c arrays json

我试图将一个数组从Objective-C拉到我的Python代码中,当我这样做时,我收到以下错误:

TypeError: (
5850,
5500,
5170,
2500,
2400,
2400,
2400,
2500,
5170,
5500,
5850
) is not JSON serializable

我试图在我的Objective-C包装器调用周围放置一个dict()方法将它变成一个字典,而且它也不起作用(可能不是我想要的)无论如何,因为我想要一个包含这些值的Python数组对象)。我该如何解决这个错误?我做了一些搜索,大多数过去的问题询问DJango方法给出了类似的问题,但并不是我需要的。

2 个答案:

答案 0 :(得分:2)

您需要一个Python数组对象,即list()个对象。使用dict()没有任何意义,除非你想要一本字典。

使用list(1,2,3..,n)[1, 2, 3..., n ]制作Python列表对象。然后,您将按各自的索引访问元素。

Python list()对象有资格作为JSON数组/对象。

答案 1 :(得分:-1)

dict()对象,或者在这种情况下,JSON对象需要一个键后跟一个值。

因此,当您尝试将数组转换为JSON时,您将获得TypeError。 向此阵列添加一些键将修复错误。

示例代码:

json_payload = {
'0': 5850,
'1': 5500,
'2': 5170,
'3': 2500,
'4': 2400,
'5': 2400,
'6': 2400,
}

如果你想创建一个python list对象,试试这个:

nums = [ 5850, 5500, 5170, 2500, 2400, 2400, 2400]
然后可以将

nums作为json对象发送。