Преобразуйте данные HTML-таблицы в объект JSON в jQuery

Кто-либо знает, как преобразовать HTML-таблицу значений в хороший объект JSON, которым будут управлять с jQuery?

20
задан Brian Tompsett - 汤莱恩 22 May 2017 в 09:07
поделиться

1 ответ

Таблица HTML? Например, все содержимое в двумерном массиве?

var tbl = $('table#whatever tr').map(function() {
  return $(this).find('td').map(function() {
    return $(this).html();
  }).get();
}).get();

Затем просто используйте $ .json (или любую другую библиотеку, которую вы хотите), чтобы превратить это в строку JSON.

edit - переписано для использования встроенной ( прокладки здесь ) .map () из прототипа массива:

var tbl = $('table#whatever tr').get().map(function(row) {
  return $(row).find('td').get().map(function(cell) {
    return $(cell).html();
  });
});

jQuery .map () имеет «особенность» сглаживания возвращаемых массивов в массив результатов. То есть, если функция обратного вызова возвращает значение, которое само по себе является массивом, то вместо того, чтобы этот возвращенный массив стал значением одной ячейки результата .map () , его элементы добавляются к результату.

Можно использовать исходную версию jQuery и просто обернуть дополнительный массив вокруг возвращаемых значений.

33
ответ дан 29 November 2019 в 22:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: