2017-02-17 18 views
1

私はPythonで初心者ですが、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) 

しかし、私は私のデータを保存しようとすると、節約にエラーがあります:私は2つの機能があると働いているチュートリアルで

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

誰かが私を助けることができますか?

+1

あなたが書いているサンプルJSONデータを投稿しても、あなたがファイルに書いているタイプ(データ)を確認することができます。 – Himaprasoon

答えて

1

{1, 3}エラーが指摘するように、JSONにシリアライズすることができないset、 - でのみ収集types JSONでは、リスト(JSONでアレイとも呼ばれる)と辞書(JSONのオブジェクトと呼ばれる)です。

あなたはそれをリストに変換する必要があります:

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

はい。ありがとうございます。 – proceder

+0

それを聞いてうれしいです。あなたが好きな場合は、その横のチェックマークをクリックして問題を解決する回答を受け入れることができます。これにより、解決策が働いたことを他人に知らせることができます。 –

+1

私はそれをやる。 – proceder

関連する問題