JSONデータをHTMLで表示する方法

JSONデータをHTMLで表示する方法

背景:

場合によっては、json データをページに直接表示する必要があります (たとえば、インターフェイス テスト プロジェクトを実行するときに、インターフェイスによって返された結果を直接表示する必要があります)。ただし、文字列を直接表示すると、表示が不便になります。フォーマットが必要です。

解決:

実際、JSON.stringify 自体も JSON をフォーマットできます。具体的な使用方法は次のとおりです。

JSON.stringify(res, null, 2); //resはJSON化されるオブジェクト、2は間隔です

より良い効果を得たい場合は、書式設定コードとスタイルを追加する必要があります。

jsコード:

関数構文ハイライト(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>' を返します。
    });
}

スタイルコード:

<スタイル>
    pre {アウトライン: 1px 実線 #ccc; パディング: 5px; マージン: 5px; }
    .string { 色: 緑; }
    .nu​​mber { 色: ダークオレンジ; }
    .boolean { 色: 青; }
    .nu​​ll { 色: マゼンタ; }
    .key { 色: 赤; }
</スタイル>

HTMLコード:

<pre id="結果">
</pre>

呼び出しコード:

$('#result').html(構文ハイライト(res));

効果:

上記は、JSON データを HTML で表示するために私が紹介した方法です。お役に立てれば幸いです。ご質問がある場合は、メッセージを残していただければ、すぐに返信いたします。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。

<<:  MySQLのUPDATE文の落とし穴を記録する

>>:  Linux で測位バックグラウンド サービスが時々クラッシュする問題の解決方法

推薦する

MySQLデータクエリが多すぎるとOOMが発生するかどうかについての簡単な議論

目次サーバー層でのフルテーブルスキャンの影響InnoDB におけるフルテーブルスキャンの影響Inno...

Vuex全体のケースの詳細な説明

目次1. はじめに2. 利点3. 使用手順1. Vuexをインストールする2. Vuexを参照する3...

MySQL 8.0.12 インストール設定方法とパスワード変更

この記事ではMySQL 8.0.12のインストールと設定方法を参考までに記録します。具体的な内容は以...

Centos8.3、dockerデプロイメントspringbootプロジェクトの実際のケース分析

導入現在、k8s は非常に人気があり、それについて学ぶために本を購入しました。しかし、k8s では数...

JavaScript デザインパターン プロキシパターンの学習

目次概要実装保護エージェント仮想エージェント画像の遅延読み込みを実現する仮想プロキシ概要プロキシ パ...

MySQL 8.0 バージョンで getTables がすべてのデータベース テーブルを返す問題の簡単な分析

序文この記事では、主にライブラリ内のすべてのテーブルを返すMysql8.0ドライバgetTables...

海外の無料写真素材サイトベスト9

良い画像素材のウェブサイトを見つけるのは難しいです。特に無料です。良い写真には非常に目を引く視覚効果...

Linux で圧縮ファイルの内容を表示する 10 の方法 (要約)

一般的に、アーカイブされたファイルや圧縮されたファイルの内容を表示するには、まず解凍してから表示する...

CentOS 7 で MySQL 5.7 をインストールして設定する

この記事では、以下の環境をテストします。 CentOS 7 64 ビット 最小 MySQL 5.7 ...

jQuery はラブエフェクトをクリックする

この記事では、jQueryのクリック時のラブエフェクトの具体的なコードを参考までに共有します。具体的...

Webpack5-react スキャフォールディングをゼロから構築するための実装手順 (ソースコード付き)

目次ウェブパック5公式スタート建築ガイド構築を開始する依存する準備が完了したら、プロジェクトの構築を...

Vue 条件付きレンダリング v-if と v-show

目次1. 動詞-if 2. <template> で v-if を使用する3. キーを使...

Docker の 4 つのネットワーク タイプの主な例

4 つのネットワーク タイプ:なし: コンテナのネットワーク機能を一切設定しません。--net=no...

Antd+vueは円形属性フォームの動的検証のアイデアを実現します

必要な項目をループして検証するために、クエリ フォームのいくつかのプロパティを実装したいと考えていま...

CSS3 は、跳ねるボール効果を実現する Web アニメーションを作成します。

基本的な準備この実装には、クラス名が ball である単純な div が必要です。 HTMLコード:...