Add alias symbolize_keys for symbolize_names kwarg for JSON.parse
When trying to symbolize keys on JSON parsing, it's really hard to remember the name
JSON.parse(data, symbolize_names: true)
I would like to propose that we change this keyword to
symbolize_keys to be more clear:
JSON.parse(data, symbolize_keys: true)
The documentation for this method also reflects the confusion: http://ruby-doc.org/stdlib-2.6/libdoc/json/rdoc/JSON.html#method-i-parse-21
symbolize_names: If set to true, returns symbols for the names (keys) in a JSON object. Otherwise strings are returned. Strings are the default.
The same issue came up in Psych not too long ago:
I believe the current name causes confusion. Would it be possible to add an alias to this keyword for clarity?
Updated by baweaver (Brandon Weaver) over 1 year ago
shevegen (Robert A. Heiler) wrote:
Personally I think that alias name would make sense. With a new alias the backwards
behaviour would also be retained.
An alias would probably be best as otherwise it would cause breaking changes, and I think we'd rather avoid that.
Updated by jsc (Justin Collins) 9 months ago
This would be a nice simple addition, as I have gotten this wrong several times.
JSON.parse does not raise any error when the wrong option name is given, so you only notice when trying to retrieve values with symbol keys returns
nil. After some debugging you might realize the keys are still strings.
Note that MultiJson uses
symbolize_keys: https://www.rubydoc.info/gems/multi_json/MultiJson#load-instance_method which may be where some confusion is coming from.