2012-08-14 116 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寶石。