From: justin@... Date: 2020-01-15T19:00:32+00:00 Subject: [ruby-core:96873] [Ruby master Feature#15541] Add alias symbolize_keys for symbolize_names kwarg for JSON.parse Issue #15541 has been updated by jsc (Justin Collins). 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. ---------------------------------------- Feature #15541: Add alias symbolize_keys for symbolize_names kwarg for JSON.parse https://bugs.ruby-lang.org/issues/15541#change-83884 * Author: baweaver (Brandon Weaver) * Status: Open * Priority: Normal * Assignee: * Target version: ---------------------------------------- https://github.com/ruby/psych/issues/341 When trying to symbolize keys on JSON parsing, it's really hard to remember the name `symbolize_names`: ``` 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: https://github.com/ruby/psych/issues/341 I believe the current name causes confusion. Would it be possible to add an alias to this keyword for clarity? -- https://bugs.ruby-lang.org/ Unsubscribe: