0

RubyonRailsのSavonを使用してSOAPインターフェースにリクエストを送信しています。

私が得ている問題は、結果が配列を含む文字列として返されることです。

アレイ([0]=>アクセス[1]=>路地[2]=>アンカー[3]=>アパート[4]=>アーケード[5]=>アベニュー[6]=>銀行[7]=>ベイ[8]=>ビーチ[9]=>ベルト[10]=>ベンド[11]=>ボードウォーク[12]=>ブールバード[13]=>ブールバード)

Savon関数.to_hashを使用して結果を解析しようとしましたが、この部分は文字列のままです。文字列にNori.parseを使用してみましたが、これは空のハッシュを返します。

SOAPインターフェイスの使用中にこれと同様の問題が発生した人はいますか?これをRuby配列に解析するための最良のアプローチは何でしょうか?

正規表現を使用してハッキーなコードを記述し、それを正しい形式に変換してからeval()を呼び出す前に、質問を出すことにしました。

どんなアドバイスも大歓迎です。

4

1 に答える 1

1

結果が例とまったく同じである場合、次のいずれかの方法で値を追跡します。

string = 'Array ( [0] => ACCESS [1] => ALLEY [2] => ANCHORAGE [3] => APARTMENTS [4] => ARCADE [5] => AVENUE [6] => BANK [7] => BAY [8] => BEACH [9] => BELT [10] => BEND [11] => BOARDWALK [12] => BOULEVARD [13] => BOULEVARDE)'
string.scan(/=> ([A-Z]+)/i).flatten
=> ["ACCESS", "ALLEY", "ANCHORAGE", "APARTMENTS", "ARCADE", "AVENUE", "BANK", "BAY", "BEACH", "BELT", "BEND", "BOARDWALK", "BOULEVARD", "BOULEVARDE"]

また:

string.scan(/\b[A-Z]+\b/)

これは同じ結果を返しますが、大文字の単語のみが許可されます。大文字と小文字が混在する場合、これは失敗し、大文字と小文字を区別しないようにすると、先頭の「配列」が原因で失敗します。

于 2012-11-21T02:44:14.250 に答える