2012-08-14 127 views
1

未来我有这样从API来的字符串:解析字符串从API

"{\"region\":{\"span\":{\"latitude_delta\":0.11197800000000058,\"longitude_delta\":0.10020299999999338},..... 

我应该怎么才能做的是​​能够访问my_returned_object.region?现在它只是一个字符串,我不知道如何将它转换为另一种对象类型。

+0

使用JSON解析宝石。 – alex 2012-08-14 04:46:10

回答

3

这是一个包含编码的字符串JSON

你需要install and use a JSON parser把它变成一个散列。

首先,安装宝石:

gem install json 

然后使用:

require 'json' 

data = JSON.parse("{\"region\":{\"span\":{\"latitude_delta\":0.11197800000000058,\"longitude_delta\":0.10020299999999338}}}") 

puts data["region"] 
+0

你需要三个关闭'}'。 – 2012-08-14 04:50:27

+0

@KulbirSaini OP发布的样本不完整。 – meagar 2012-08-14 04:50:48

+0

你说得对。 – 2012-08-14 04:51:44

0

这似乎是一个JSON编码的对象。你可以尝试

require 'json' 
my_hash = JSON.load(my_returned_object).symbolize_keys 
puts my_hash[:region] 

JSON是对Ruby 1.9的一部分,如果你使用1.8(或其他的Ruby实现),则可能需要使用宝石安装JSON安装JSON宝石。