簡體   English   中英

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

[英]What does “TypeError : (1,2,3) is not JSON serializable” mean?

我試圖將數組從Objective-C提取到我的Python代碼中,當我這樣做時,出現以下錯誤:

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

我試圖在我的Objective-C包裝器調用周圍放置一個dict()方法以將其轉換為字典,但這也不起作用(而且可能也不是我想要的,因為我想要一個Python數組對象包含這些值)。 如何解決此錯誤? 我做了一些搜索,並且過去的大多數問題都詢問有關DJango方法的問題,但這並不是我所需要的。

您需要一個Python數組對象,即list()對象。 除非需要字典,否則使用dict()沒有任何意義。

使用list(1,2,3..,n)[1, 2, 3..., n ] list(1,2,3..,n) [1, 2, 3..., n ]制作一個Python列表對象。 然后,您將通過元素各自的索引來訪問元素。

Python list()對象符合JSON數組/對象的條件。

一個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對象發送。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM