1

HTMLテーブルをJSON文字列に変換するにはどうすればよいですか。

例 :

<table cellpadding="0" cellspacing="0">
   <tbody>
      <tr>
         <td>Car</td>
         <td>Year</td>
      </tr>
      <tr>
         <td>Nissan</td>
         <td>2009</td>
      </tr>
      <tr>
         <td>Chrysler</td>
         <td>2004</td>
      </tr>
   </tbody>
</table>

のようなもの:$('table tr').toJSONのすべての値を印刷するtd

4

6 に答える 6

4

これを試して

 var rowList = new Array();
    $("table tr").each(function () {
        var colList = new Array();
        $("td", this).each(function () {
            colList.push($(this).text());
        });
        rowList.push(colList);
    });

これrowListは、tdのすべての値の2次元リストです。

于 2012-05-29T10:13:25.703 に答える
1

$('table tr')。find('td')。each()を使用して配列内のテーブルデータを取得します

これは、JSON.stringify関数を使用して文字列にします。

JSON.stringify(carsArray)

于 2012-05-29T10:13:59.960 に答える
1

IDが関連付けられていることを確認してください。そうすればtable、すべてのtdコンテンツを配列の配列(つまり、2次元配列)に変換できます。


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

これで、tableDataにはすべてのtdsデータが含まれます。

于 2012-05-29T10:09:09.823 に答える
1

私は上記のすべてのソリューションに不満を持っていて、これを達成するために独自のjQueryプラグインを作成することになりました。これはソリューションと非常に似ていますが、非表示の行を無視する、列名をオーバーライドする、セル値をオーバーライドするなど、結果をカスタマイズするためのいくつかのオプションを受け入れます。

プラグインは、これがあなたが探しているものである場合、いくつかの例とともにここで見つけることができます:https ://github.com/lightswitch05/table-to-json

于 2013-02-10T15:16:48.860 に答える
1

これを試してください..Firebugを実行し、JSONの結果を確認してください..ここでは、セレクターの値を指定します。必要に応じてセレクターを変更してください

   function TableDataToJSON() {

    var list= [];
    var $headers = $("#list> thead >tr >th"); //header selector
    var $rows = $('#list> .trClass').each(function (index) {//row selector
        $cells = $(this).find("td");
        list[index] = {};
        $cells.each(function (cellIndex) {
            list[index][$($headers[cellIndex]).attr('id')] = $(this).text();
        });
    });
    var myObj = {};
    myObj.person= list;
    return JSON.stringify(myObj);
    //this one $($headers[cellIndex]).attr('id') will give a property name to your
    //json values e.g {Firstname: 'John'}
}
于 2013-04-16T09:00:09.503 に答える
0

コーディングソリューションについてはよくわかりませんが、利用可能なjava-Scriptライブラリが1つあります。これを試してください

fastfrag jsonは、すべてのhtmlをjson形式に変換します。テキストエリアにコードをコピーして、下のリンクをクリックしてください。githubにコードリポジトリもあります

于 2012-05-29T10:05:24.763 に答える