What is it?
$.serializeObject is a variant of existing $.serialize method which, instead
of encoding form elements to string, converts form elements to a valid JSON
object which can be used in your JavaScript application.
Why?
Whilst it isn't necessary in most cases, and by that I mean 99.99% kind of most, there are times when we manipulate form data on client side. Personally I find JSON much easier to work with than DOM or string manipulation.
How do I use it?
If you want to see the code and demo first: http://jsfiddle.net/davidhong/PRpJT/
Simply include the jQuery.serializeObject.js along with any jQuery instance
and use it like $.serialize.
If you have a form like the following:
<form id="minutes">
<input type="text" name="subject">
<input type="text" name="minute-taker">
<!-- ... -->
<input type="checkbox" name="attendees" value="David" checked="checked">
<input type="checkbox" name="attendees" value="Daniel" checked="checked">
<input type="checkbox" name="attendees" value="Darwin" checked="checked">
</form>
and wish to convert them to a JSON object:
var minutes = $('form#minutes').serializeObject();
will return:
{
"subject": "",
"minute-taker": "",
"attendees": [
"David",
"Daniel",
"Darwin"
]
}
Change log
2.0.0
Major version change: Camel casing of names have been removed. Please use version 1.0.4 if you require camel casing of names.
- Remove
$.datalike camelCasing on names
1.0.4
- Fix an issue (#2) where arrays longer than 2 resulted in incorrect values

Formed in 2009, the Archive Team (not to be confused with the archive.org Archive-It Team) is a rogue archivist collective dedicated to saving copies of rapidly dying or deleted websites for the sake of history and digital heritage. The group is 100% composed of volunteers and interested parties, and has expanded into a large amount of related projects for saving online and digital history.
