Project

General

Profile

Feature #15541

Add alias symbolize_keys for symbolize_names kwarg for JSON.parse

Added by baweaver (Brandon Weaver) 11 months ago. Updated 11 months ago.

Status:
Open
Priority:
Normal
Assignee:
-
Target version:
-
[ruby-core:91115]

Description

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?

History

Updated by shevegen (Robert A. Heiler) 11 months ago

Personally I think that alias name would make sense. With a new alias the backwards
behaviour would also be retained.

Updated by baweaver (Brandon Weaver) 11 months 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.

Also available in: Atom PDF