Skip to content

Instantly share code, notes, and snippets.

@hafeez-syed
Created September 17, 2015 02:41
Show Gist options
  • Save hafeez-syed/06ee3334480e1c8754e2 to your computer and use it in GitHub Desktop.
Save hafeez-syed/06ee3334480e1c8754e2 to your computer and use it in GitHub Desktop.
How to replace json `key` recursively in javascript
// change key as per requirement - I have used ":" in example JSON object below
var replace_key = ":"
, add_key = ""
, rwp = function rewriteProperties(obj) {
if (typeof obj !== "object") return obj
for (var prop in obj) {
if (obj.hasOwnProperty(prop)) {
obj[prop.replace(replace_key, add_key)] = rewriteProperties(obj[prop])
if (prop.indexOf(replace_key) > -1) {
delete obj[prop]
}
}
}
return obj;
}
, org = {"organization":{":employees":{":male":{":profile":{":first_name":"Jason",":last_name":"Brad",":age":40,":email":"jason.brad@company.com",":address":{":street_number":5,":street_name":"company avenue",":post_code":"12345",":city":"Big city",":country":"United"}}},":female":{":profile":{":first_name":"Jane",":last_name":"O'Coner",":age":35,":email":"jane.oconer@company.com",":address":{":street_number":9,":street_name":"office street",":post_code":"56789",":city":"New city",":country":"New Country"}}}}}}
, newOrganization = rwp(org)
console.log(newOrganization)
// OUTPUT: newOrganization object will have no ":"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment