this post was submitted on 12 Aug 2026
922 points (97.5% liked)

Programmer Humor

32767 readers
511 users here now

Welcome to Programmer Humor!

This is a place where you can post jokes, memes, humor, etc. related to programming!

For sharing awful code theres also Programming Horror.

Rules

founded 3 years ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[–] mat@jlai.lu 1 points 1 day ago (1 children)

I think json.dumps would not work if there is a datetime in the dict, right?

[–] _stranger_@lemmy.world 1 points 1 day ago (1 children)

Yeah there's other edge cases too, like Decimal, but as long as you have those things imported when you send it through dumps it should work.

[–] mat@jlai.lu 1 points 1 day ago (1 children)

Just tried it in an ipython shell

import datetime
import json

json.dumps({"a": datetime.datetime(1970,1,1)})

And I got the TypeError: datetime not JSON serializable though.

[–] _stranger_@lemmy.world 1 points 1 day ago* (last edited 1 day ago)

If you don't care you can pass in default=str (I think) but if you do care you can define a function for what the string representation should look like and pass that in, but that's a happy path case to be honest. I usually only run into this problem when something is logging unknown data (otherwise I prefer to model data like this so the IDE is happy) so I pass in the default=str just to get it functional.

Duck typing usually works but, datetime man, datetime is the warp from Warhammer 40K, it will drive you mad.