Я знаю, что этот вопрос задавался много раз на SO и на сайте datatables, но я не могу заставить его работать, используя предоставленные решения.Публикация данных jQuery на сервере в формате JSON
Я строю свой datatable на стороне клиента и теперь хочу опубликовать данные клиента моему контроллеру app api в формате json.
Клиентская сторона работает правильно, когда дело доходит до добавления/удаления строк. Но когда я пытаюсь создать свою JSON с помощью:
var table = $('#detailTable').DataTable();
var details = JSON.stringify(table.rows().data().toArray());
Я получаю следующий результат:
[["11046","ABC","bis","123","123",15129]]
поэтому в основном я пропускаю имена столбцов в мой объект JSON, таким образом, веб-апи не в состоянии поднять его и преобразовать его в:
List<ReceiptEntryViewModel> ReceiptDetails
Так как я могу получить DataTables для генерации JSON в следующем формате:
[["ItemId":"11046","ItemCode":"ABC","ItemName":"bis","Price":"123","Quantity":"123","Total":15129]]
Привет Давид, спасибо за ваш ответ, похоже, что он может работать, и в моем случае я буду иметь дело с не более 100 строк, таким образом, не думаю, что будет воздействие сверху производительность. Тем не менее, я думал, что есть встроенная функция datatables (которая уже занимается циклом), которая может создать правильно отформатированный JSON, который мой app api может принять – JustLearning
@JustLearning, к сожалению, нет волшебной функции API, которая преобразует ваши строковые массивы в JSON , Однако **, если ** вы указываете раздел 'columns' для ваших данныхTable ** и ** вставляете данные в качестве JSON самостоятельно, то вывод' table.rows(). Data() 'будет действительным JSON. См. Пример -> ** http: //jsfiddle.net/ev7yz07L/**. Таким образом, вы могли бы сказать, что если вы сделаете это правильно в первый раз, вам не понадобятся следующие искажения :) – davidkonrad
Отлично, на самом деле решение в вашем комментарий именно то, что я искал. Пожалуйста, добавьте ответ! Спасибо – JustLearning