2017-02-17 55 views
1

我是Python中的begginer,並且JSON有一點問題。在本教程中,我正與有兩個功能:TypeError:{1,3}不是JSON可序列化

def read_json(filename): 
    data = [] 
    if os.path.isfile(filename): 
     with open(filename, "r") as f: 
      data = json.load(f) 
    return data 


def save_json(filename, data): 
    with open(filename, "w") as f: 
     json.dump(data, f) 

但是,當我嘗試保存我的數據有挽救的錯誤:

raise TypeError(repr(o) + " is not JSON serializable") 
TypeError: {1, 3} is not JSON serializable 

有人可以幫助我嗎?

+1

你可以發佈你正在編寫樣本JSON數據,並檢查您正在寫入文件類型(數據)。 – Himaprasoon

回答

1

{1, 3}set,其作爲誤差所指出的,不能被序列化到JSON - 在JSON唯一收藏types是列表(稱爲陣列在JSON)和字典(在JSON稱爲對象)。

你需要將其轉換爲一個列表:

converted = list(my_data) 
save_json(my_filename, converted) 
+0

是。謝謝它的作品。 – proceder

+0

很高興聽到它。如果你願意,你可以[接受](http://stackoverflow.com/help/someone-answers)一個答案,通過點擊旁邊的複選標記來解決你的問題......這讓其他人知道解決方案的工作。 –

+1

當然。我會做的。 – proceder

相關問題