How do I convert a Ruby hash so that all of its keys are symbols?

后端 未结 15 1842
不思量自难忘°
不思量自难忘° 2020-12-04 19:01

I have a Ruby hash which looks like:

{ \"id\" => \"123\", \"name\" => \"test\" }

I would like to convert it to:

{ :id         


        
15条回答
  •  星月不相逢
    2020-12-04 19:30

    Here's my two cents,

    my version of symbolize_keys_deep! uses the original symbolize_keys! provided by rails and just makes a simple recursive call to Symbolize sub hashes.

      def symbolize_keys_deep!(h)
        h.symbolize_keys!
        h.each do |k, v|
          symbolize_keys_deep!(v) if v.is_a? Hash
        end
      end
    

提交回复
热议问题