require 'json'

str = "1=2,3=(4=5,6=7)"
new_str = str.gsub(/=|\(|\)/) do |m|
  if m == "="
    m= "=>"
  elsif m == "("
    m = "{"
  else
    m = "}"
  end
end

new_str = new_str.prepend("{") << "}"
# => "{1=>2,3=>{4=>5,6=>7}}"

JSON.parse(new_str)
# ~>
/home/kirti/.rvm/rubies/ruby-2.0.0-p0/lib/ruby/2.0.0/json/common.rb:155:in
`parse': 757: unexpected token at '{1=>2,3=>{4=>5,6=>7}}'
(JSON::ParserError)
# ~>  from
/home/kirti/.rvm/rubies/ruby-2.0.0-p0/lib/ruby/2.0.0/json/common.rb:155:in
`parse'
# ~>  from -:15:in `<main>'


My question is how should I get the hash {1=>2,3=>{4=>5,6=>7}} from that
string?

-- 
Posted via http://www.ruby-forum.com/.

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to rubyonrails-talk+unsubscr...@googlegroups.com.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/rubyonrails-talk/da8a33c74e789b2ef9d42b0da3aa5c6b%40ruby-forum.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to