Underscore-to-camelCase converter (and vice versa) for strings and object keys in JavaScript.
When converting object keys, it will walk the structure, converting any nested objects (or arrays of nested objects) along the way. Handy for converting JSON between JavaScript and Ruby/Rails APIs.
Takes inspiration from Ember Data and copies some utility functions from Underscore.js.
humps.camelize("hello_world"); // "helloWorld"
humps.decamelize("fooBar"); // "foo_bar""
humps.decamelize("helloWorld", "-"); // "hello-world"
var object = {
attr_one: "foo",
attr_two: "bar"
};
object = humps.camelizeKeys(object);
object.attrOne === "foo"; // true
object.attrTwo === "bar"; // true
Arrays of objects are also converted
var array = [
{ attr_one: "foo" },
{ attr_one: "bar" }
];
array = humps.camelizeKeys(array);
array[0].attrOne === "foo"; // true
array[1].attrOne === "bar"; // true
humps is copyright © 2013 Dom Christie and released under the MIT license.