I have an object with an unknown number of levels and types (array, object, string), here is an example:
var data = {
ffs: false,
customer: {
customer_id: 1544248,
z_cx_id: '123456',
},
selected_items: {
'3600196': [{
id: 4122652,
name: 'Essential Large (up to 8'x10')',
selected: true
}]
},
service_partner: {
id: 3486,
name: 'Some String',
street: '1234 King St.',
},
subject: 'Project-2810191 - Orange Juice Stain (Rug)',
description: 'Product Type:
Issue: (copy/paste service request details here)
Action Required:',
}
I have to loop through every property using plain javascript and sanitize each string that has a ' to have '' (for use in a PostGres Query), I change it with the following code:
val = val.replace(/'/g, "''");
And I can loop through the object and display them with this, although this may not be the best solution:
function iterObj(obj) {
for (var key in obj) {
console.log(key + ': ' + obj[key]);
if (obj[key] !== null && typeof obj[key] === "object") {
// Recurse into children
iterObj(obj[key]);
}
}
}
iterObj(data);
The problem is that I don't know how to actually do the sanitization part and update the original data array since this is going in circles.
I found plenty of people asking similar questions but couldn't quite get their answers to work in my case.
Any help is appreciated.
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…