JSFiddle - React, Tailwind, and code Playground
HTML
<script
src="https://code.jquery.com/jquery-3.1.1.min.js"
integrity="sha256-hVVnYaiADRTO2PzUGmuLJr8BLUSjGIZsDYGmIJLv2b8="
crossorigin="anonymous"></script>
<div id="tgt"></div>
JavaScript
function xwwwfurlenc(srcjson){
if(typeof srcjson !== "object") if(typeof console !== "undefined"){ console.log("\"srcjson\" is not a JSON object"); return null; }
u = encodeURIComponent;
var urljson = "";
var keys = Object.keys(srcjson);
for(var i=0; i <keys.length; i++){
urljson += u(keys[i]) + "=" + u(srcjson[keys[i]]);
if(i < (keys.length-1))urljson+="&";
}
return urljson;
}
//Will only decode as strings
//Without embedding extra information, there is no clean way to know what type of variable it was.
function dexwwwfurlenc(urljson){
var dstjson = {};
var ret;
var reg = /(?:^|&)(\w+)=(\w+)/g;
while((ret = reg.exec(urljson)) !== null){
dstjson[ret[1]] = ret[2];
}
return dstjson;
}
var iii = {"t1":"teeone","t2":"teetwo","t3":"teethree","t4":"teefour"};
$("<div>").text("ENCODED:").appendTo("#tgt");
$("<div>").text(xwwwfurlenc(iii)).appendTo("#tgt");
$("<div>").text("DECODED:").appendTo("#tgt");
$("<div>").text(JSON.stringify(dexwwwfurlenc(xwwwfurlenc(iii)))).appendTo("#tgt");