
An object is an unordered collection of zero or more name/value
Issue #15541 has been updated by ioquatix (Samuel Williams). I was a strong proponent of this proposal, however I checked the JSON RFC <https://www.rfc-editor.org/rfc/rfc8259> for guidance and found that it refers to them as name/value pairs. So `symbolize_names` is not so strange for `JSON.parse`. pairs, where a name is a string and a value is a string, number, boolean, null, object, or array. I investigated several other instances in https://bugs.ruby-lang.org/issues/19607 if you are interested. So the only conclusion I have at this time is: - `symbolize_names` is unintuitive in general. - `symbolize_names` aligns with the JSON RFC conventions. - It's part of the public interface already and so at least non-trivial to change. On this basis, I suggest we close this issue. ---------------------------------------- Feature #15541: Add alias symbolize_keys for symbolize_names kwarg for JSON.parse https://bugs.ruby-lang.org/issues/15541#change-102848 * Author: baweaver (Brandon Weaver) * Status: Open * Priority: Normal ---------------------------------------- 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/