1. ホーム
  2. Web制作
  3. HTML/Xhtml

htmlページでjsonデータを表示・整形する方法

2022-01-07 10:43:15

htmlページでのjsonデータの表示と書式設定

I. 効果画像を表示する

説明情報です。

  • キーとなる値はすべて赤くハイライトされており、重要なパラメータであることを示しています。
  • 数値型はオレンジ、文字列型はグリーン、ブーリアン型はブルーと、異なる色でマークされています。

II. ソースコードの表示

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 <style>
    pre {outline: 1px solid #ccc; padding: 5px; margin: 5px; }
    .string { color: green; }
    .number { color: darkorange; }
    .boolean { color: blue; }
    .null { color: magenta; }
    .key { color: red; }

    .showinfo {
        position: absolute;
        background-color: #eef1f8;
        width: 200px;
        padding: 5px;
        border-radius: 4px;
        border: 1px solid #ccc;
        display: none;
    }
    .showinfo pre{
        padding: 5px;
        border: 1px solid #ccc;
        margin:0;
    }
    table,th,td{
        border:1px solid blue;
    }
</style>
<script src=". /js/jquery-1.8.3.min.js"></script>
<script type="text/javascript">

    $(document).ready(function(){
        $(".show-rough").mouseover(function(){
            var left = $(this).offset().left + $(this).width() +20;//calculate div display position
            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();
        })
    });
    // process json data, using regular filtering out different types of parameters
	function syntaxHighlight(json) {
    if (typeof json ! = 'string') {
        json = JSON.stringify(json, undefined, 2);
    }
    json = json.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>');
    return json.replace(/("(\\u[a-zA-Z0-9]{4}|\\[^u]|[^\\\"])*"(\s*:)? |\b(true|false|null)\b|-? \d+(? :\. \d*)? (? :[eE][+\-]? \d+)?) /g, function(match) {
        var cls = 'number';
        if (/^"/.test(match)) {
            if (/:$/.test(match)) {
                cls = 'key';
            } else {
                cls = 'string';
            }
        } else if (/true|false/.test(match)) {
            cls = 'boolean';
        } else if (/null/.test(match)) {
            cls = 'null';
        }
        return '<span class="' + cls + '">' + match + '</span>';
    });
};
</script>
</head>
<body>
<table>
    <thead>
        <tr>
            <th>name</th>
            <th>json data</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>juniors</td>
            <td class="show-rough">{ "name": "junior", "address":"23 Beijing Road", "age":16, " "email": "[email protected]","Object":[{"position":"manager"}],"del":[] }</td>
        </tr>
        <tr>
            <td>juniors</td>
            <td class="show-rough">{ "name": "Xiao Si", "address":"Shanghai Road 01", "age":27, " "email": "[email protected]","Object":[],"del":[] }</td>
        </tr>
    </tbody>
</table>
<div id="show-info" class="showinfo">
    <pre id="show-pre">

</pre>
</div>
</body>
</html>

III. ソースコードアップロード

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

htmlページでjsonデータを表示・整形する方法はこの記事で全てです。htmlにjsonデータを表示・整形する方法については、スクリプトハウスの過去記事を検索するか、以下の記事を引き続き閲覧してください。