title: QueryString parsing in Play
body: <p>I have nested url parameters being passed to an endpoint, and I need these represented in as a JsValue. My initial assumption was that Play would parse them in a way similar to Rails, however parameters seem to only be split by <code>&amp;</code> and <code>=</code>. Example:</p>
  
  <p>Query params: <code>?test[testkey]=testvalue&amp;test[newkey]=newvalue</code></p>
  
  <p>Actual:</p>
  
  <p><code>Map(
    "test[testkey]" -&gt; "testvalue" ,
    "test[newkey]"  -&gt; "newvalue
  )
  </code></p>
  
  <p>Expected:</p>
  
  <p><code>Map(
    "test" -&gt; Map(
      "testkey" -&gt; "testvalue" ,
      "newkey"  -&gt; "newvalue"
    )
  )
  </code></p>
  
  <p>Note that the end goal here is to be able to convert this into a JsObject.</p>
  
  <p>I've started writing this myself, however simply porting the function from Rack is very un-scala-y and I feel like there has to be a quick way to get this that I am simply missing.</p>
  
  <p><strong>UPDATE</strong></p>
  
  <p>I am trying to find a generic solution which mimics the parsing that Rails uses (ie, with nested objects, lists, etc), and not just one level deep objects.</p>