В jQuery есть что-то встроенное для построения массива: map ()
var items = $('.nameList').find('li').map(function() {
var item = { };
item.id = this.value;
item.title = $(this).text();
return item;
});
Это создаст массив объектов, соответствующих структуре JSON, которую вы ищете. Затем, чтобы JSON сериализовать это, используйте JSON.stringify, который встроен в более новые браузеры и доступен для старых, включая json2.js :
// Produces [{'id':1,'title':'bob'},{etc},{etc}]
var json = JSON.stringify(items);
Также имейте в виду, что $ .post () автоматически сериализует параметр данных объекта, как key1 = value1 & key2 = value2 & etc. Если вам не нужен JSON на стороне сервера, шаг сериализации JSON может не потребоваться.