2013-03-12 2 views
0
"{\"status\":1,\"redirect\":\"/some/uri/uri2/index.html?post_login=80607979823520\",\"security_token\":\"/cpsess8233434446\"}" 

Я получаю этот ответ как строку, и мне нужно извлечь значение security_token. Я попытался преобразовать строку в Hash методом eval.seems не работал, и мне нужно выполнить регулярное выражение.Regex extract substring ruby ​​

ответ

2

Вы можете сделать это:

require 'json' 
a = JSON.load "{\"status\":1,\"redirect\":\"/some/uri/uri2/index.html?post_login=80607979823520\",\"security_token\":\"/cpsess8233434446\"}" 
p a["security_token"] #=> "/cpsess8233434446" 
2

Вам необходимо проанализировать данные JSON ..

result = "{\"status\":1,\"redirect\":\"/some/uri/uri2/index.html?post_login=80607979823520\",\"security_token\":\"/cpsess8233434446\"}" 
h = JSON.parse(result) 
h['security_token']  # => "/cpsess8233434446" 
1

Вы можете JSON.load данные и фильтр для [ 'security_token'] или использовать выражение регулярного выражения стиля .match (/ security_token /).

Я бы предложил предварительную информацию для дальнейшего чтения и обслуживания кода.