Python の json.dumps での "datetime.datetime not JSON serializable" エラーと pickle2022年03月26日 11時51分43秒

Python は json をサポートしている。json は文字列と数字を保持している時に便利。 dict 型から json へ変換できる。 しかし、dict に datetime 等の書式があると「datetime.datetime not JSON serializable」などとエラーが出て変換出来ない。基本的にオブジェクト型はサポートされていない。
>>> import json
>>> d = { 1: "one", 2: "two", 3: "three" }
>>> json.dumps(d)
'{"1": "one", "2": "two", "3": "three"}'
Python にはオブジェクト型をシリアライズする pickle がある。こちらだと問題ない。json の API と似せてあって、dumps と loads で変換できる。 import pickle
>>> import pickle
>>> d = { 1: "one", 2: "two", 3: "three" }
>>> pickle.dumps(d)
b'\x80\x04\x95\x1f\x00\x00\x00\x00\x00\x00\x00}\x94(K\x01\x8c\x03one\x94K\x02\x8c\x03two\x94K\x03\x8c\x05three\x94u.'

コメント

コメントをどうぞ

※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。

※なお、送られたコメントはブログの管理者が確認するまで公開されません。

名前:
メールアドレス:
URL:
コメント:

トラックバック

このエントリのトラックバックURL: http://uyota.asablo.jp/blog/2022/03/26/9475902/tb

※なお、送られたトラックバックはブログの管理者が確認するまで公開されません。