Any alternative Plug parsers for array of maps in forms?

I’m dealing with a form from I page that I don’t control which supplies a body in the form of:


This gets parsed in Phoenix as:

%{"foo" => %{"bar" => [%{"name" => "Fran"}, %{"age" => "30"}]}}

Which is different from Rails, which did:

%{"foo" => %{"bar" => [%{"name" => "Fran", "age" => "30"}]}}

I noticed it’s also not possible to encode URI arguments (array of maps), the only doable thing is array of single elements ["foo", "bar"] or maps of maps %{"0" => %{"name" => "Fran", "age" => 30}}.

The last has also the downside of putting the burden of tracking the correct “index” on the client (browser).

Is anyone aware of alternative parsers that would handle for data (and query params) the way Rails used to do? It would dramatically simplify the migration process of the app I’m working on.