// Converts nested objects and arrays into camelCase, when they were PascalCase to start with var convert2Camel = function(obj) { if (Object.prototype.toString.call(obj) === '[object Array]') { var a = []; obj.forEach(function(element) { a.push(convert2Camel(element)); }); return a; } else { if (typeof obj == 'object') Object.keys(obj).forEach(function(key) { //if the key length is greater than 2 letters, lowercase the first, otherwise lowercase it all var k = key.length > 2 ? key[0].toLowerCase() + key.substring(1) : key.toLowerCase(); if (k != key) { var c = obj[key]; obj[k] = c; delete obj[key]; if (c !== null && c !== undefined && typeof c == 'object') { convert2Camel(c); } } }); return obj; } };