Intenta recorrer todos los campos y crear un objeto como mas te parezca, aca te dejo un ejemplo: http://jsfiddle.net/ems1898c/
formInputs.find('[data-role=add]').on('click', function() {
tmpl = $('#inputs-tmpl').html();
params = [];
formInputs
.find('.form-input-groups')
.append(tmpl);
formInputs
.find('.form-input-groups > .group')
.each(function(i, group) {
inputParams = {};
$(group).find(':input').each(function(i, input) {
inputParams[$(input).attr('name')] = $(input).val();
});
params.push(inputParams);
});
$('#form-output code').html(JSON.stringify(params, undefined, 4));
return false;
});
<div id="form-inputs">
<div class="form-input-groups"></div>
<a href="#" data-role="add" title="agregar campos">agregar campos</a>
</div>
<pre class="json" id="form-output"><code></code></pre>
<script type="text/javascript" src="https://code.jquery.com/jquery-2.1.4.min.js"></script>
<script id="inputs-tmpl" type="text/template">
<div class="group">
<label>Cantidad</label><input type="text" name="cantidad">
<label>Nombre</label><input type="text" name="nombre">
<label>Precio</label><input type="text" name="precio">
</div>
</script>
si nos proporcionas algo del codigo que tienes hasta el momento podria ser de ayuda para que te digamos especificamente que tendrias que cambiar en tú código.