MENU
  • ホームHOME
  • DEVELOPポートフォリオ
  • スマートホームSmart Home
    • スマートリモコン
    • スマートライト
    • スマートロック
    • スマートカメラ
    • スマートセンサー
    • スマートスピーカー
    • IoT家電
    • ロボット掃除機
  • ガジェットGadgets
    • iPhone & iPad
    • アップルウォッチ
    • パソコン関連
    • 充電器/モバイルバッテリー
    • キーボードマウス
    • アプリソフト関連
    • カメラ
    • オーディオその他
  • 生活家電&インテリアAppliances
    • Wi-Fiルーター
    • PCモニター
    • デスク関連
    • モバイル&光回線
    • その他家電
  • ライフLife Style
    • ニュース
    • ライフハック
    • 便利なサービス
    • プログラミング
    • コラム
    • ブログ運営
  • 勉強アプリEducation
    • ビジネス資格
      • ビジネスマネジャー検定
      • MCPC IoT検定 中級対応
      • MCPCモバイルシステム技術
    • DIGI RADIO
      (特設サイト)
      • 一陸技アプリ
      • 一陸特アプリ
      • 二陸特アプリ
      • 工事担任者(総合通信)アプリ
    • クラウド系アプリ
      • AWS SAAアプリ
      • AZ-900勉強アプリ
      • AI-900勉強アプリ
  • お問合せContact
    • 勉強アプリ専用フィードバックフォーム
ガジェット&お得なサービス情報をお届けするブログメディア「デジライン」
DIGILINE (デジライン)
  • ホームHOME
  • DEVELOPポートフォリオ
  • スマートホームSmart Home
    • スマートリモコン
    • スマートライト
    • スマートロック
    • スマートカメラ
    • スマートセンサー
    • スマートスピーカー
    • IoT家電
    • ロボット掃除機
  • ガジェットGadgets
    • iPhone & iPad
    • アップルウォッチ
    • パソコン関連
    • 充電器/モバイルバッテリー
    • キーボードマウス
    • アプリソフト関連
    • カメラ
    • オーディオその他
  • 生活家電&インテリアAppliances
    • Wi-Fiルーター
    • PCモニター
    • デスク関連
    • モバイル&光回線
    • その他家電
  • ライフLife Style
    • ニュース
    • ライフハック
    • 便利なサービス
    • プログラミング
    • コラム
    • ブログ運営
  • 勉強アプリEducation
    • ビジネス資格
      • ビジネスマネジャー検定
      • MCPC IoT検定 中級対応
      • MCPCモバイルシステム技術
    • DIGI RADIO
      (特設サイト)
      • 一陸技アプリ
      • 一陸特アプリ
      • 二陸特アプリ
      • 工事担任者(総合通信)アプリ
    • クラウド系アプリ
      • AWS SAAアプリ
      • AZ-900勉強アプリ
      • AI-900勉強アプリ
  • お問合せContact
    • 勉強アプリ専用フィードバックフォーム
DIGILINE (デジライン)
  • ホームHOME
  • DEVELOPポートフォリオ
  • スマートホームSmart Home
    • スマートリモコン
    • スマートライト
    • スマートロック
    • スマートカメラ
    • スマートセンサー
    • スマートスピーカー
    • IoT家電
    • ロボット掃除機
  • ガジェットGadgets
    • iPhone & iPad
    • アップルウォッチ
    • パソコン関連
    • 充電器/モバイルバッテリー
    • キーボードマウス
    • アプリソフト関連
    • カメラ
    • オーディオその他
  • 生活家電&インテリアAppliances
    • Wi-Fiルーター
    • PCモニター
    • デスク関連
    • モバイル&光回線
    • その他家電
  • ライフLife Style
    • ニュース
    • ライフハック
    • 便利なサービス
    • プログラミング
    • コラム
    • ブログ運営
  • 勉強アプリEducation
    • ビジネス資格
      • ビジネスマネジャー検定
      • MCPC IoT検定 中級対応
      • MCPCモバイルシステム技術
    • DIGI RADIO
      (特設サイト)
      • 一陸技アプリ
      • 一陸特アプリ
      • 二陸特アプリ
      • 工事担任者(総合通信)アプリ
    • クラウド系アプリ
      • AWS SAAアプリ
      • AZ-900勉強アプリ
      • AI-900勉強アプリ
  • お問合せContact
    • 勉強アプリ専用フィードバックフォーム
\ ポイント最大11倍! /
  1. ホーム
  2. ライフ
  3. ブログ運営
  4. JQueryでJSONデータを基に動的にテーブルを作成する方法

JQueryでJSONデータを基に動的にテーブルを作成する方法

2022 11/23
プロモーションを含みます
ブログ運営 プログラミング

JQueryに少しずつ慣れてくると、色んなことをフロント側でやってみたくなりますよね。今回はJQueryを使って、外部からデータを取得し、そのデータを元に動的にテーブルを作成するコードを書いてみます。

大まかな仕組み

今回のコードの仕組みとしては大体こんな感じです。

  • HTMLでテーブルヘッダ<thead>とテーブルボディ<tbody>を作成しておく
  • ajaxでjsonデータを取得し、配列に格納しておく
  • 配列を動的にテーブルに展開する

ここでは表示するデータを外部のサービスからjsonで取得し、その取得したデータを一度配列に入れた上で予め用意した<tbody>内に展開する。そんな感じでやっていきます。

基本の中身

HTML部

先ずは基本としてhtmlの部分を書いていきます。

今回は当サイトで作っているクイズアプリの問題数を表示するコンテンツを作ってみます。

<table>
    <thead>
        <tr>
            <th>クイズ種別</th>
            <th>問題数</th>
        </tr>
    </thead>
    <tbody id="usage-table-body"></tbody>
</table>

今回のテーブルの場合は、テーブルヘッダを’クイズタイプ’、’クイズ区分’、’問題数’と3つ作成し、テーブルの中身は<tbody>部にはめ込んでいくような形にしていきます。

JQueryコード部

次にJQueryでjsonデータを取得する部分を書いていきますね。今回はsample.jsonというファイルがサーバにあるという想定です。

$.ajax({
    type: "GET", 
    url: 'http://localhost/sample.json',
}).done(function(data, dataType) {

    var usage_arr = JSON.parse(data);

    //データをテーブル形式にする 
    $.each(usage_arr,function(i,quizdata){

        var text_quiz_shubetu = quizdata.quiz_shubetu;
        var text_quiz_qty = quizdata.qty;
        var tr = $('<tr />');
        var quiz_shubetu = $('<td />').text(text_quiz_shubetu);
        var quiz_qty = $('<td />').text(text_quiz_qty + ' 問');
        tr.append(quiz_shubetu);
        tr.append(quiz_qty);
        $('#usage-table-body').append(tr);   
    });

}).fail(function(XMLHttpRequest, textStatus, errorThrown) {
  // エラーメッセージの表示
  console.log('Error : ' + errorThrown + ", Reason: " + textStatus);
});

またsample.jsonの中身はこんな感じという想定です。今回は2列とかなり少ないものですが、別に何列でも構いません。

//sample.json
{
    {
        "quiz_shubetu":"一陸特",
        "qty":"356"
    }
    {
        "quiz_shubetu":"二陸特",
        "qty":"250"
    }
}

手順としては、ajaxのメソッドを使用して、sample.jsonをGETしていきます。GETで取得したjsonデータをJSON.parseで解析してあげた上でusage_arr変数に入れておきます。

次にusage_arr変数を.eachメソッド に入れてあげて要素ごとに一つずつ取り出していきます。因みにeachではなく.eachになっているの注意してください。.eachはオブジェクトに対して使うメソッドで今回はjsonで取得したデータを変数にオブジェクトとして入れているので、こんな感じにしています。

あとはデータを一つずつ<td>セレクタに入れてあげるのですが、途中の変換用の変数quiz_shubetuとquiz_qtyも1回ずつ入れた上で、先ずは<tr>にappend、そのままtr自身を#usage-table-bodyの<tbody>の中にappendしてあげるという処理になっています。

因みにappendはJQueryのメソッドで子要素に追加するというメソッドになります。

    //データをテーブル形式にする 
    $.each(usage_arr,function(i,quizdata){

        var text_quiz_shubetu = quizdata.quiz_shubetu;
        var text_quiz_qty = quizdata.qty;
        var tr = $('<tr />');
        var quiz_shubetu = $('<td />').text(text_quiz_shubetu);
        var quiz_qty = $('<td />').text(text_quiz_qty + ' 問');
        tr.append(quiz_shubetu);
        tr.append(quiz_qty);
        $('#usage-table-body').append(tr);   
    });

これだけでテーブルが動的に仕上げることができるはずです。

因みにテーブルの方の見た目をキレイにしたかったら、css側を入れてあげれば良いだけです。但し、今回のサンプルだと、<tbody>にしかセレクタを割り当てていないので、適当なclassなりidなりをつけてあげれば良いだけですね。

最後に

今回はサクッとjsonをテーブルに入れる方法を紹介していきました。正直個人でjsonでデータを連携させるようなAPIはGoogle Spread Sheetぐらいかなとも思うのですが、それでも例えばラズパイのセンサーで取得したデータをGoogle スプレッドシートに入れておいて、そのデータをjsonで取得して、ウェブページに公開する。そんな使い方も面白いのかと思います。

あとは自分でサーバ側にPHPなりPythonなりでSQLテーブルのデータをjsonを返すコードを書いてあげても良いかもしれませんね。

このやり方は結構色々応用が効きそうなので、皆さんも試してみてください。

ブログ運営 プログラミング

この記事が気に入ったら
いいね または フォローしてね!

Follow @digiline_ Follow Me
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

Takaのアバター Taka

AIエンジニア / AIエージェント開発者 / テックブロガー

生成AI・AIエージェント・IoT技術を活用し、業務自動化からスマートホームまで幅広いソリューションの設計・開発を行っています。

本業ではAIエンジニアとして企業向けAIエージェントの開発・技術支援に携わる一方、個人ではAI・IoT・クラウドを組み合わせたシステム開発や技術検証を継続しています。

DIGI LINEでは、ChatGPTやAIエージェントを活用した業務効率化、個人開発、WordPress活用、IoT・スマートホーム構築など、「実際に使えるAI」をテーマに、実践的なノウハウや最新技術をわかりやすく発信しています。

机上の理論ではなく、自ら検証・開発・運用した経験をもとに、仕事や生活をより便利にするテクノロジーの活用方法をお届けします。

関連記事

  • セサミ6 Pro mini発表|引き戸のスマートロック化に、ようやく現実的な選択肢が出てきた
    2026年7月29日
  • AI Agentの品質を支えるデータ・ルール・API・検索・知識グラフ・評価を表す抽象図
    Agentの品質・精度はモデルを替えるだけでは上がらない。実用的なAIを作るための設計順序
    2026年7月25日
  • 勉強アプリサポート
    2026年7月7日
  • 【2026年7月版 最新価格】Amazon プライムデーでおすすめのガジェット&セール製品|お得に買える攻略方法も紹介。
    2026年7月4日
  • スマートバスマット体組成計モデル(2026)は何が変わった?旧モデル長期利用者目線で紹介
    2026年6月10日
  • SwitchBot スマートサーキュレーター(スタンド型)は買いか?旧モデルとの違いと使い分けを実機レビュー
    2026年5月25日
  • 【レビュー】SwitchBot スマートデイリーステーション|家族共有の天気カレンダーボード
    2026年4月23日
  • SwitchBotキャンドルウォーマーは買いか?火を使わない安心感とスマート連携を実用目線でレビュー
    2026年4月20日

コメント

コメントする コメントをキャンセル

人気記事
  • IKEA TRADRI(トロードフリ)のリモコン/センサーが反応しない!?電球がペアリングできないときの復旧方法
    ライフハック
  • iPhoneの電池の減りが異常に早いのでバッテリー交換しに行ったら断れた話。AppleCare+未加入の人は注意しよう!
    便利なサービス
  • セゾンカードの携行品保険ならスマホもパソコンも保証!月300円のスマホ補償付きお買い物安心プラン[Y]がコスパ最強!
    保険のこと
  • iPhoneのフィールドテストモード。隠しコマンドを入れたらこうなるなんて!?【専門家が解説】
    ライフハック
  • Apple Watch (アップルウォッチ)向けの保険としてapplecare+はいらないよ
    保険のこと
新着記事
  • セサミ6 Pro mini発表|引き戸のスマートロック化に、ようやく現実的な選択肢が出てきた
    2026年7月29日
  • AI Agentの品質を支えるデータ・ルール・API・検索・知識グラフ・評価を表す抽象図
    Agentの品質・精度はモデルを替えるだけでは上がらない。実用的なAIを作るための設計順序
    2026年7月25日
  • スマートバスマット体組成計モデル(2026)は何が変わった?旧モデル長期利用者目線で紹介
    2026年6月10日
  • SwitchBot スマートサーキュレーター(スタンド型)は買いか?旧モデルとの違いと使い分けを実機レビュー
    2026年6月4日
  • 【レビュー】SwitchBot スマートデイリーステーション|家族共有の天気カレンダーボード
    2026年4月25日
目次
DIGILINEオススメのサービス
TAKA
メディア監修
AIエンジニア / AIエージェント開発者 / テックブロガー

生成AI・AIエージェント・IoT技術を活用し、業務自動化からスマートホームまで幅広いソリューションの設計・開発を行っています。

本業ではAIエンジニアとして企業向けAIエージェントの開発・技術支援に携わる一方、個人ではAI・IoT・クラウドを組み合わせたシステム開発や技術検証を継続しています。

DIGI LINEでは、ChatGPTやAIエージェントを活用した業務効率化、個人開発、WordPress活用、IoT・スマートホーム構築など、「実際に使えるAI」をテーマに、実践的なノウハウや最新技術をわかりやすく発信しています。

机上の理論ではなく、自ら検証・開発・運用した経験をもとに、仕事や生活をより便利にするテクノロジーの活用方法をお届けします。
新着記事
  • セサミ6 Pro mini発表|引き戸のスマートロック化に、ようやく現実的な選択肢が出てきた
  • AI Agentの品質を支えるデータ・ルール・API・検索・知識グラフ・評価を表す抽象図
    Agentの品質・精度はモデルを替えるだけでは上がらない。実用的なAIを作るための設計順序
  • スマートバスマット体組成計モデル(2026)は何が変わった?旧モデル長期利用者目線で紹介
  • SwitchBot スマートサーキュレーター(スタンド型)は買いか?旧モデルとの違いと使い分けを実機レビュー
記事を探す
メーカーで探す
+style Amazon Anker Apple Aqara BenQ(ベンキュー) BLUETTI Bose braun Broadlink Buffalo CANDY HOUSE(キャンディハウス) Coomooy DELL EaseUS Garmin(ガーミン) GenHigh Google IKEA Insta360 iRobot issin j5create Kandao LinkJapan Logicool LoopEarplugs MiniTool MOFT(モフト) MovPilot MUJI Nature Philips PITAKA(ピタカ) Qrio(キュリオ) Quntis Rakuten Satechi(サテチ) SwitchBot(スイッチボット) tile Tranya UGREEN Ulike VOLTME Zenosyne
  • DIGI LINE(デジライン)について
  • お仕事の依頼
  • 特定商取引法に関する表記
  • 免責事項/プライバシーポリシー
  • お問合せ

© DIGILINE (デジライン)

目次