What's wrong with the JSON gem API?
7 comments
·August 5, 2025ezekg
First thing we could do here is rename the JSON.parse :symbolize_names keyword to :symbolize_keys -- always trips me up for some reason.
athorax
Why? JSON is name-value pairs https://www.json.org/json-en.html
caseyohara
Sure, but JSON.parse returns a Hash, which is key-value pairs. The method argument is about the return value, not the input value, so it is more like "Parse this JSON, and symbolize the keys in the resulting Hash before returning it to me". Plus, as mentioned, symbolize_keys is more conventional.
ezekg
I guess I'm more thinking about Ruby/Rails conventions, e.g. methods like Hash#symbolize_keys.
Mixing the two has always been a smell to me, but maybe you're right.
fuzzy_biscuit
Maybe it could just be an alias. People do also refer to them as key-value pairs, so that feels reasonable.
null
Changing the default behavior for duplicate keys is unnecessary... and therefore should not be done.
IMO, it's nuts to purposely introduce random bugs into the apps of everyone who uses your dependency.