0

JSON としてシリアル化しようとしている辞書のリスト (SQL クエリの 1 つのレコードを表す各辞書) があります。これらのディクショナリには、シリアル化が困難であることが判明している datetime.date および datetime.datetime オブジェクトがいくつかあります。最初のエラー メッセージは次のとおりです。

TypeError: datetime.date(2012, 5, 23) is not JSON serializable

ハンドラーを json.dumps 呼び出しに追加すると、エラー メッセージは次のようになります。

TypeError: date_handler() takes exactly 1 argument (2 given)

date_handler は次のようになります。

    def date_handler(obj):
        return obj.isoformat() if hasattr(obj, 'isoformat') else obj

私はこれをTracプラグインの一部として実行していますが、これは孤立したpythonの問題だと思いますが、それをソートするために何をすべきかわかりません - 誰かアイデアはありますか?

4

2 に答える 2

2

データベースからデータをインポートしているときに、ディクショナリの日付またはタイムスタンプであるフィールドを適用することでこれを解決しまし.isoformat()た。そのため、フィールドの種類が事前にわかっています。助けてくれてありがとう!

于 2012-07-19T08:13:31.127 に答える
0

Djangoドメインのソリューションを参照してください。

于 2012-07-17T21:46:25.850 に答える