#javascript #json #anonymous-types
#javascript #json #анонимные типы
Вопрос:
Итак, вот мой сценарий, я «сериализую» некоторые данные json с анонимными типами в javascript для отправки обратно в контроллер MVC. Возможно, я неправильно подхожу к этой проблеме, но у меня есть список объектов или массив объектов, которые находятся во вложенном объекте. Ниже приведен пример данных, которые я отправляю обратно.
var items = [];
var counter = 0;
$("#table > tbody > tr").each(function () {
var ModelId = $(this).find("#models option:selected").val();
var Attrib1 = $(this).find("#attrib1 option:selected").val();
var Attrib2 = $(this).find("#attrib2 option:selected").val();
var Price = $(this).find("#price").val();
var Notes = $(this).find("#notes").val();
var ModelName = "MyObjects[" counter "].ModelId";
var Attrib1Name = "MyObjects[" counter "].Attrib1";
var Attrib2Name = "MyObjects[" counter "].Attrib2";
var PriceName = "MyObjects[" counter "].Price";
var NotesName = "MyObjects[" counter "].Notes";
var item = {
ModelName: ModelId,
Attrib1Name: Attrib1,
Attrib2Name: Attrib2,
PriceName: Price,
NotesName: Notes
}
items.push(item);
counter ;
});
Пытался сделать это несколькими разными способами (смех принимается) :). Но по сути мне нужно, чтобы имя свойства было значением переменной, например. ModelName
Любая помощь приветствуется!
Спасибо, Стивен
Комментарии:
1. Не связано, но есть ли у вас повторяющиеся идентификаторы в вашем DOM?
$(this).find("#price").val();
должно быть только одно значение.2. @DavidEhrmann на самом деле вы можете быть правы, я думал в другом контексте. Позвольте мне попробовать это действительно быстро.
3. @DavidEhrmann ты был прав, лол. Я не знаю, почему я так усложнял это. Я забыл о том, что это просто массив, и думал о ASP.NET Схема именования MVC, которая была принята через обычную форму POST или ajax post. Если вы укажете это в качестве ответа, я приму его.
4. Зачем вам нужен счетчик? Вы создаете массив; индекс не подразумевает значение счетчика?