Skip to content

Instantly share code, notes, and snippets.

@rhuanbarreto
Last active July 3, 2024 10:28
Show Gist options
  • Save rhuanbarreto/0f702a597fb6b7effcdb4315f36a585e to your computer and use it in GitHub Desktop.
Save rhuanbarreto/0f702a597fb6b7effcdb4315f36a585e to your computer and use it in GitHub Desktop.
Serialize deep objects to URL Search Parameters query string
export const queryStringSerialize = (obj, prefix) => {
var str = [],
p;
for (p in obj) {
if (obj.hasOwnProperty(p)) {
var key = isNaN(parseInt(p, 10)) ? p : "";
var k = prefix ? prefix + "[" + key + "]" : p;
var v = obj[p];
str.push(
v !== null && typeof v === "object"
? queryStringSerialize(v, k)
: encodeURIComponent(k) + "=" + encodeURIComponent(v)
);
}
}
return str.join("&");
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment