-2
我有一個字符串可以說:如何將複雜的字符串轉換爲數組ruby?
str = "[[{/"a/":/"1/"},{/"b/":/"2/"},{/"c/":/"3/"}]]"
我需要的是哈希值的數組:
如果我使用分裂,那麼它也不會放棄希望的解決方案。 請幫助。
我有一個字符串可以說:如何將複雜的字符串轉換爲數組ruby?
str = "[[{/"a/":/"1/"},{/"b/":/"2/"},{/"c/":/"3/"}]]"
我需要的是哈希值的數組:
如果我使用分裂,那麼它也不會放棄希望的解決方案。 請幫助。
假設你有一個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" } ]
謝謝你的工作! – dips
您的意思是「散列數組」嗎? '[[//ab /「:/」1 /「},{/」bc /「:/」2 /「},{/」cd /「:/」3 /「}]]'not一個語法上有效的「字典」或散列數組。 – lurker
我的不好,我的意思是隻有哈希數組。 – dips
它仍然沒有語法上的有效性。 – lurker