Предполагая, что строковый объект - это то, что вы вставили в качестве входного текста в рубулярную ссылку, json - это просто все между каждой открытой и закрывающей фигурной скобкой {}
, поэтому регулярное выражение очень простое.
require 'json' # require the standard lib
str = # the string in your rubular example
regex = /\{.*\}/
array = str.scan(regex).map{|j| JSON.parse(j.gsub(/\\/,''))}
# array is now a collection of ruby hashes.
# if you need them converted to a single json object you can do
json = array.to_json
Метод ruby String # scan делает большую часть того, что вам нужно. Но вам нужно удалить двойные escape-символы, что и делается внутри .map
, используя JSON stdlib