Как я могу преобразовать хэш как строку в хэш в ruby? - PullRequest
0 голосов
/ 19 мая 2011

Следующая resp является строкой, которая похожа на хэш по структуре.

(rdb:1) p resp
"{\"_id\":\"4dd4eaa872f8be2d380000af\",\"account_id\":\"4dd0d71272f8be0499000009\",\"created_at\":\"2011-05-19T15:47:16+05:45\",\"line_id\":\"4dd4ea9d72f8be2d380000a5\",\"order\":{\"_id\":\"4dd4eaa872f8be2d380000b9\",\"amount\":1.2000000000000002,\"service_charge\":0.0},\"owner_id\":\"4dd0d71272f8be0499000008\",\"tenant_id\":\"4dca3f8e72f8be2950000003\",\"through_api\":true,\"title\":\"run name\",\"updated_at\":\"2011-05-19T15:47:16+05:45\"}"

Как я могу преобразовать это в хеш?

Ответы [ 2 ]

8 голосов
/ 19 мая 2011

Это похоже на объект в кодировке JSON.Попробуйте это:

require 'json'
p JSON.load(resp)

json является частью Ruby 1.9, если вы используете 1.8 (или другую реализацию Ruby), вам может понадобиться установить гем json, используя gem install json.

0 голосов
/ 19 мая 2011
require 'json'
hash_a = JSON.parse(resp)

p hash_a
  {"through_api"=>true, 
   "created_at"=>"2011-05-19T15:47:16+05:45", 
   "title"=>"run name", 
   "updated_at"=>"2011-05-19T15:47:16+05:45", 
   "account_id"=>"4dd0d71272f8be0499000009", 
   "_id"=>"4dd4eaa872f8be2d380000af", 
   "owner_id"=>"4dd0d71272f8be0499000008", 
   "order"=>{"amount"=>1.2, 
   "_id"=>"4dd4eaa872f8be2d380000b9", 
   "service_charge"=>0.0}, 
   "line_id"=>"4dd4ea9d72f8be2d380000a5", 
   "tenant_id"=>"4dca3f8e72f8be2950000003"}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...