JSFiddle - React, Tailwind, and code Playground
by userdude
JavaScript
function objectParametize(obj, delimeter, q) {
var str = new Array();
if (!delimeter) delimeter = '&';
for (var key in obj) {
switch (typeof obj[key]) {
case 'string':
case 'number':
str[str.length] = key + '=' + obj[key];
break;
case 'object':
str[str.length] = objectParametize(obj[key], delimeter);
}
}
return (q === true ? '?' : '') + str.join(delimeter);
}
var test1 = {
'str' : 'string',
'num' : 1,
'obj' : {
'objstr' : 'objectstring',
'objnum' : 2,
'obj2' : {
'obj2str' : 'object2string',
'obj2num' : 3
}
}
};
console.log(objectParametize(test1, ';', true));
var test2 = {
param1: 'something',
param2: 'somethingelse',
param3: 'another',
bla: {
param5: 'i\'m nested!',
ja: {
param6: 'i am really nested'
}
}
};
console.log(objectParametize(test2, '&'));