HTML ページで JSON データを表示およびフォーマットする方法

HTML ページで JSON データを表示およびフォーマットする方法

JSONデータはHTMLページ上に表示されフォーマットされます

1. 表示効果図

説明:

  • すべてのキー値は赤でマークされ、重要なパラメータを示しています。
  • 値は異なる色でマークされます。数値はオレンジ色、文字列は緑色、ブール値は青色です。 。 。

2. ソースコードの表示

<!DOCTYPE html>
<html>
<ヘッド>
<meta http-equiv="コンテンツタイプ" コンテンツ="text/html; charset=UTF-8">
 <スタイル>
    pre {アウトライン: 1px 実線 #ccc; パディング: 5px; マージン: 5px; }
    .string { 色: 緑; }
    .nu​​mber { 色: ダークオレンジ; }
    .boolean { 色: 青; }
    .nu​​ll { 色: マゼンタ; }
    .key { 色: 赤; }

    .showinfo{
        位置: 絶対;
        背景色: #eef1f8;
        幅: 200ピクセル;
        パディング: 5px;
        境界線の半径: 4px;
        境界線: 1px 実線 #ccc;
        表示: なし;
    }
    .showinfo pre{
        パディング: 5px;
        境界線: 1px 実線 #ccc;
        マージン:0;
    }
    テーブル、th、td{
        border:1px 青一色;
    }
</スタイル>
<script src="./js/jquery-1.8.3.min.js"></script>
<script type="text/javascript">

    $(ドキュメント).ready(関数(){
        $(".show-rough").mouseover(function(){
            var left = $(this).offset().left + $(this).width() +20; //div の表示位置を計算します var top = $(this).offset().top + 20;
            var _jsonDate = $.parseJSON($(this).text());
            var showJson = syntaxHighlight(_jsonDate);
            $("#show-info").css({"left":left,"top":top}).show();
            $("#show-pre").html(showJson);
        });
        $(".show-rough").mouseout(function(){
            $("#show-info").hide().html();
            $("#show-pre").html();
        })
    });
    //jsonデータを処理し、正規表現を使用して異なるタイプのパラメータをフィルタリングします。function syntaxHighlight(json) {
    if (typeof json != 'string') {
        json = JSON.stringify(json, 未定義, 2);
    }
    json = json.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>');
    json.replace(/("(​​\\u[a-zA-Z0-9]{4}|\\[^u]|[^\\"])*"(\s*:)?|\b(true|false|null)\b|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?)/g を返します。function(match) {
        var cls = '数値';
        if (/^"/.test(match)) {
            if (/:$/.test(match)) {
                cls = 'キー';
            } それ以外 {
                cls = '文字列';
            }
        } そうでない場合 (/true|false/.test(match)) {
            cls = 'ブール値';
        } そうでなければ (/null/.test(match)) {
            cls = 'null';
        }
        '<span class="' + cls + '">' + match + '</span>' を返します。
    });
};
</スクリプト>
</head>
<本文>
<テーブル>
    <頭>
        <tr>
            <th>名前</th>
            <th>JSON データ</th>
        </tr>
    </thead>
    <t本文>
        <tr>
            <td>小三</td>
            <td class="show-rough">{ "name": "小三", "address":"北京路23号","age":16, "email": "[email protected]","Object":[{"Position":"Manager"}],"del":[] }</td>
        </tr>
        <tr>
            <td>小四</td>
            <td class="show-rough">{ "name": "シャオ・シ", "address":"No. 01 Shanghai Road","age":27, "email": "[email protected]","Object":[],"del":[] }</td>
        </tr>
    </tbody>
</テーブル>
<div id="show-info" class="showinfo">
    <pre id="show-pre">

</pre>
</div>
</本文>
</html>

3. ソースコードのアップロード

ソースコードのダウンロードアドレス

JSON データを表示して HTML ページでフォーマットする方法に関するこの記事はこれで終わりです。JSON データを表示して HTML ページでフォーマットする方法に関するより関連性の高いコンテンツについては、123WORDPRESS.COM で以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

<<:  CSS3に基づいてiPhoneを描く

>>:  Dockerコンテナは定期的にデータベースをバックアップし、指定されたメールボックスに送信します(設計アイデア)

推薦する

Mysql でサーバーの UUID を変更する方法

問題の原因:スレーブサーバーがクローンマスターサーバーである場合、server-uuidの値は同じで...

CSS3 の Flex レイアウトの詳細な分析

Flexbox レイアウト モジュールは、コンテナー内のスペースをより効率的に配分する方法を提供する...

MySQLインデックスを追加する3つの原則を簡単に理解する

1. インデックスの重要性インデックスは、列に特定の値を持つ行をすばやく見つけるために使用されます。...

MySQLユーザーと権限管理の詳細な説明

この記事では、例を使用して MySQL ユーザーと権限の管理について説明します。ご参考までに、詳細は...

emとは?emとpxの紹介と変換方法

それは何ですか? em はフォントの高さを指し、どのブラウザでもデフォルトのフォントの高さは 16 ...

jQueryはhide()とtoggle()関数を使用してカメラブランド表示の非表示機能を実現します。

最近、jQuery を学習しているときに、show()、hide()、toggle() 関数に出会い...

テーブルパーティションとパーティション分割とは何ですか?MySqlデータベースパーティションとテーブルパーティション分割方法

1. テーブルとパーティションを分割する必要があるのはなぜですか?日常の開発では、大きなテーブルに遭...

MySQL 8.0 の新機能の分析 - トランザクション データ ディクショナリとアトミック DDL

序文トランザクション データ ディクショナリとアトミック DDL は、MySQL 8.0 で導入され...

React dva実装コード

目次ドヴァdvaの使用DVAの実装非同期をサポートルーターの実装成し遂げる:ドヴァdva は、red...

layui をベースにしたログインページの実装

この記事の例では、ログインページを実装するためのlayuiの具体的なコードを参考までに共有しています...

MySQL マスタースレーブ同期遅延の原因と解決策

歴史的な理由により、MySQL レプリケーションは、REDO ログではなく論理バイナリ ログに基づい...

MySQL システム ユーザーが開くことができるファイルの最大数に関する簡単な説明

本から学ぶことは常に浅はかで、これがさらなるダウンタイムを引き起こすことには決して気づきません......

CentOS7にMySQL 8.0.26をインストールする手順

1. まず、お使いのマシンに応じて、MySQL 公式サイトから対応するデータベースをダウンロードしま...

Mysql マスタースレーブレプリケーションの注意事項の説明

1. マスター'x@xxxx:x'への接続エラー- 再試行時間: 60 再試行回数:...

HTML/CSS におけるフロートの使用例の詳細

1. floatの基本的な使用例1. まず 2 つの div ボックスを作成し、高さ、幅、背景色を設...