Telnet,
ваш код практически рабочий с учётом моего замечания - только массивы нигде не используются, замените их на {}
Возможный вариант ...
var groups = {};
$("ul").each(function(index, element){
var groupName = $(element).attr("id");
groups[groupName] = [];
rules = new Object();
$(element).children().each(function(i, li){
var arrLi = {};
arrLi["id"] = $(this).attr("user-id");
arrLi["name"] = $(this).text();
groups[groupName].push(arrLi);
});
});