0
"{\"status\":1,\"redirect\":\"/some/uri/uri2/index.html?post_login=80607979823520\",\"security_token\":\"/cpsess8233434446\"}"

この応答を文字列として取得しているので、security_token値を抽出する必要があります。evalメソッドで文字列をハッシュに変換しようとしました。機能していないようで、正規表現の一致を行う必要があります。

4

3 に答える 3

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"
于 2013-03-12T14:12:56.687 に答える
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"
于 2013-03-12T14:13:32.740 に答える
1

データを JSON.load して ['security_token'] でフィルタリングするか、.match(/security_token/) スタイルの正規表現を使用できます。

将来の読みやすさとコードのメンテナンスのために、事前をお勧めします。

于 2013-03-12T14:14:44.297 に答える