Rails позволяет генерировать строки запроса путем передачи хэша помощнику типа url_for:
root_path({ :animals => {:dogs => ['pluto','spot'], :cats => 'garfield'} })
Это сгенерирует URL, например:
http://example.com/?animals[dogs][]=pluto&animals[dogs][]=spot&animals[cats]=garfield
Я хочу использовать JavaScriptчтобы превратить это в объект JSON, чтобы у меня был объект, соответствующий хэшу, переданному в хелпер url в rails.
Используя prototype.js, я могу вызвать:
var params = window.location.search.toQueryParams();
params - этообъект, но исходная вложенная структура не сохраняется, вместо этого я получаю:
{
"animals[dogs][]" : ["pluto","spot"],
"animals[cats]" : "garfield"
}
То, что я действительно хочу, это:
{
"animals" : {
"dogs" : ["pluto","spot"],
"cats" : "garfield"
}
}
Также было бы полезно и обратное.Prototype.js имеет toQueryString, который в этом случае просто возвращает пустую строку:
Object.toQueryString({
"animals" : {
"dogs" : ["pluto","spot"],
"cats" : "garfield"
}
});
Есть ли библиотека методов, которая обеспечивает это?