2016-04-15 8 views
-2

私は、文字列が言うことができますがあります。複雑な文字列を配列ルビに変換するには?

str = "[[{/"a/":/"1/"},{/"b/":/"2/"},{/"c/":/"3/"}]]" 

私は必要なものは、ハッシュの配列である:

​​

私は分割を使用する場合は、あまりにもそれが望ましい解決策を与えることはありません。 助けてください。

+0

"ハッシュの配列"を意味しますか? {/ {b /}}、{/ "cd /":/ "3 /"}]] '' {[{/ "ab /":/ "1 /"}構文的に有効な「辞書」またはハッシュの配列。 – lurker

+0

私の悪い、私はハッシュの配列だけを意味します。 – dips

+2

それでも構文的には有効ではありません。 – lurker

答えて

1

JSON文字列があると仮定すると、実行する必要があるのはrequire "json"arr = JSON.parse(str)です。あなたのJSONは、三つの要素を持つ配列そのものである単一の要素を持つ配列で構成されてい

require "json" 

str = "[[{\"a b\":\"1\"},{\"b c\":\"2\"},{\"c d\":\"3\"}]]" 
arr = JSON.parse(str) 
# => [ [ { "a b" => "1" }, { "b c" => "2" }, { "c d" => "3" } ] ] 

注:以下のコードでは、私は有効なJSONであるためにあなたの文字列を修正しました。 "内部"配列を取得するには、配列の場合と同じようにします:

inner_arr = arr[0] 
# => [ { "a b" => "1" }, { "b c" => "2" }, { "c d" => "3" } ] 
+0

ありがとうございました! – dips

関連する問題