Есть строки таблицы(строй может быть много)
<tr class="actors_list_row">
	<td align="center">
		<input type="text" name="actor[0][actor_name]" class="input-actor" value="" size="70" />
		<input type="hidden" name="actor[0][actor_id]" class="input-actor-id" value="" />
	</td>
	<td align="center"><input type="text" name="actor[0][role]" class="input-role" value="" size="70" /></td>
	<td align="center">
		<input type="text" name="actor[0][dub_name]" class="input-dub" value="" size="70" />
		<input type="hidden" name="actor[0][dub_id]" class="input-dub-id" value="" />
	</td>
	<td>
		<a href="javascript:void(0);" class="del_row"><img src="/assets/images/icons/delete.png" border="0" /></a>
	</td>
</tr>
Нужно получить массив вида
var actors = {"actors": {
	"row1": { "a1":"b1", "c1":"d1", "e1":"f1", "g1":"h1", "i1":"j1" },
	"row2": { "a2":"b2", "c2":"d2", "e2":"f2", "g2":"h2", "i2":"j2" }
}};
Пока остановился на этом
var arr = {"actors": {}};
var elems = {};
$.each($('.actors_list_row'), function(k, v){
	$.each($(this).find('input'), function(key, value){
		elems[$(this).prop('name')] = $(this).val();
		return elems;
	});
	arr.actors['row_'+k] = elems;
});
Проблема в том что данные дублируются. Т.е. получается
var actors = {"actors": {
	"row1": { "a1":"b1", "c1":"d1", "e1":"f1", "g1":"h1", "i1":"j1", "a2":"b2", "c2":"d2", "e2":"f2", "g2":"h2", "i2":"j2" },
	"row2": { "a1":"b1", "c1":"d1", "e1":"f1", "g1":"h1", "i1":"j1", "a2":"b2", "c2":"d2", "e2":"f2", "g2":"h2", "i2":"j2" }
}};
Вопрос номер 2.
Можно ли для временного хранения использовать $.data() для input'а формы или лучше пересобирать в json-строку и сохранять как value поля?
Как лучше преобразовать такой массив в строку json дабы потом передать на сервер обычным POST?
PS! Пробовал json2, но массив корявится и в результате {name:"a1", value:"b1"...}/ Мне же важно сохранить имена полей как ключи.