JSFiddle - React, Tailwind, and code Playground

HTML

<form>
    <select name="params[language]">
        <option value="en-GB">English (UK)</option>
        <option value="de-DE">German</option>
    </select>
    
    <select name="params[timezone]">
        <option value="1">First</option>
        <option value="2">Second</option>
    </select>
</form>

JavaScript

/**
 * Keys-arrays are encoded. This is fine (http://www.php.net/manual/en/function.http-build-query.php)
 * but cannot decode to deep object using Object.parseQueryString
 */

var $form = document.getElement('form'),
    dataString = $form.toQueryString(),
    dataObject = dataString.parseQueryString();

console.log('element to queryString:', dataString);
console.log('queryString to object:', dataObject);
console.log('object to queryString:', Object.toQueryString(dataObject));