Serialize to JSON

HTML

<form>
    <input type="text" name="testfield1">
    <input type="text" name="testfield2">
    <input type="text" name="testfield3">
    <input type="text" name="testfield4">
</form>
<button>Test</button>

JavaScript

(function($) {

    $.fn.serializeToJSON = function() {
        var array = this.serializeArray();
        var data = {};
        $.each(array, function(index, field) {
            if (field && field.name && field.value) {
                data[field.name] = field.value;
            }
        });
        return data;
    };

    $(function() {
        $('button').click(function() {
            console.log($('form').serializeToJSON());
        });
    });
}(jQuery));