Convert json string to hash

I have a string object which is basically in a json format and while
trying to print it shows in console as

item =
 {
        "id": "4c9f83e4-f479-48d0-9f92-3fff70a8f6ba",
         "item":

“{“business”:“1114”,“class”:“Demo”,“date”:“01-01-2014”,“version”:”",“data”:“dummy”,“name”:“Finance”}"

    }

I need to get the values of business, class, date etc and pass it as
params
to my method. So I tried to convert it into hashes as below

hash_item = JSON.parse (item)

and output in console shows as

The converted hash item is
{"guid"=>"4c9f83e4-f479-48d0-9f92-3fff70a8f6ba",

“item”=>"{“business”:“1114”,“class”:“Demo”,“date”:“01-01-2014”,“version”:"",“data”:“Dummy”,“name”:“Finance”}"}

But when I try to access the hash value for business as
hash_item['item']['business'] it shows

“business”

since the value of item is a String in the hash_item. I am not sure
whether my approach is correct or not. So is there any better idea or
any
inputs to retrieve the hash values . Please help.

prabhu wrote in post #1145452:

I have a string object which is basically in a json format and while
trying to print it shows in console as

item =
 {
        "id": "4c9f83e4-f479-48d0-9f92-3fff70a8f6ba",
         "item":

“{“business”:“1114”,“class”:“Demo”,“date”:“01-01-2014”,“version”:”",“data”:“dummy”,“name”:“Finance”}"

    }

I need to get the values of business, class, date etc and pass it as
params
to my method. So I tried to convert it into hashes as below

hash_item = JSON.parse (item)

and output in console shows as

The converted hash item is
{"guid"=>"4c9f83e4-f479-48d0-9f92-3fff70a8f6ba",

“item”=>"{“business”:“1114”,“class”:“Demo”,“date”:“01-01-2014”,“version”:"",“data”:“Dummy”,“name”:“Finance”}"}

But when I try to access the hash value for business as
hash_item['item']['business'] it shows

“business”

since the value of item is a String in the hash_item. I am not sure
whether my approach is correct or not. So is there any better idea or
any
inputs to retrieve the hash values . Please help.

Let me try to explain by example…

JSON demo 1:

{
“id”: “4c9f83e4-f479-48d0-9f92-3fff70a8f6ba”,
“item”: {
“business”: “1114”,
“class”: “Demo”,
“date”: “01-01-2014”
}
}

item = “{“id”: “4c9f83e4-f479-48d0-9f92-3fff70a8f6ba”,“item”:
{“business”: “1114”,“class”: “Demo”, “date”: “01-01-2014”}}”

json = JSON.parse(item)
=> {“id”=>“4c9f83e4-f479-48d0-9f92-3fff70a8f6ba”,
“item”=>{“business”=>“1114”, “class”=>“Demo”, “date”=>“01-01-2014”}}

json[‘id’]
=> “4c9f83e4-f479-48d0-9f92-3fff70a8f6ba”

json[‘item’]
=> {“business”=>“1114”, “class”=>“Demo”, “date”=>“01-01-2014”}

json[‘item’][‘business’]
=> “1114”

json[‘item’][‘class’]
=> “Demo”

JSON Demo 2:

{
“id”: “4c9f83e4-f479-48d0-9f92-3fff70a8f6ba”,
“item”: “{“business”: “1114”,“class”:
“Demo”, “date”: “01-01-2014"”
}”
}

item = “{“id”: “4c9f83e4-f479-48d0-9f92-3fff70a8f6ba”, “item”:
“{“business”: “1114”, “class”:
“Demo”, “date”: “01-01-2014”}”}”

json = JSON.parse(item)
=> {“id”=>“4c9f83e4-f479-48d0-9f92-3fff70a8f6ba”,
“item”=>"{“business”: “1114”, “class”:
“Demo”, “date”: “01-01-2014”}"}

json[‘id’]
=> “4c9f83e4-f479-48d0-9f92-3fff70a8f6ba”

json[‘item’]
=> “{“business”: “1114”, “class”:
“Demo”, “date”: “01-01-2014”}”

json[‘item’][‘business’]
=> “business”

It appears to me you’re seeing something like “JSON Demo 2”. What you
want is what you see in “JSON Demo 1”.

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs