JSON データを HTML に整形してインデントし色付けする
ソースは関数型 TypeScript で書かれており、 pretty-print-json.min.js (縮小版) は 2.1 KB です。
JSON をフォーマットするための対話型オンライン ツール:
https://pretty-print-json.js.org
jsdelivr.com CDN からロードします。
<link rel=stylesheet href=https://cdn.jsdelivr.net/npm/[email protected]/dist/css/pretty-print-json.css>...<script src=https:// cdn.jsdelivr.net/npm/[email protected]/dist/pretty-print-json.min.js></script>
縮小された JS ファイルは 2 KB です。
ダーク モードの場合は、 <link>
タグ内のpretty-print-json.css
をpretty-print-json.dark-mode.css
に置き換えます。
または、 prefers-color-scheme
CSS メディア機能に基づいてダーク モードを自動的に検知するには、代わりにpretty-print-json.prefers.css
を使用します。
ノードのパッケージをインストールします。
$ npm install pretty-print-json
アプリケーションにインポートします。
'pretty-print-json' から { prettyPrintJson } をインポートします。
const html = prettyPrintJson.toHtml(データ、オプション?);
<pre id=account class=json-container></pre>
データをprettyPrintJson.toHtml(data, options)
に渡し、結果を表示します。
定数データ = { アクティブ: true、 モード: '?'、 コード: [48348、28923、39080]、 都市: 「ロンドン」、 };const elem = document.getElementById('account');elem.innerHTML = prettyPrintJson.toHtml(data);
名前(キー) | タイプ | デフォルト | 説明 |
---|---|---|---|
indent | 整数 | 3 | インデントのスペースの数。 |
lineNumbers | ブール値 | false | 行番号をサポートするには、HTML を<ol> タグで囲みます。 * |
linkUrls | ブール値 | true | URLのアンカータグを作成します。 |
linksNewTab | ブール値 | true | target=_blank 属性設定をアンカー タグに追加します。 |
quoteKeys | ブール値 | false | キー名は常に二重引用符で囲みます。 |
trailingCommas | ブール値 | true | 配列およびオブジェクトの最後の項目の後にカンマを追加します。 |
* lineNumbers
true
に設定する場合、 <pre>
タグをwhite-space: pre;
スタイルは各行に適用されます ( <li>
)。
pretty-print-json.ts ファイルの先頭にある TypeScript 宣言を参照してください。
options
パラメーターを使用して、関数prettyPrintJson.toHtml(data: unknown, options?: FormatOptions)
の出力をカスタマイズします。
options
パラメーターはFormatOptions
オブジェクトです。
type FormatOptions = { indent?:number, //インデントのスペースの数 lineNumbers?: boolean, //行番号をサポートするには、HTML を <ol> タグで囲みます linkUrls?: boolean, //URLのアンカータグを作成します linksNewTab?: boolean, //target=_blank 属性設定をアンカー タグに追加します quoteKeys?: boolean, //キー名は常に二重引用符で囲まれます trailingCommas?: boolean, //配列およびオブジェクトの最後の項目の後にカンマを追加します };
明示的な型を使用した TypeScript の使用例:
import { prettyPrintJson, FormatOptions } from 'pretty-print-json';const data = { アクティブ: true、 モード: '?'、 コード: [48348、28923、39080]、 都市: 「ロンドン」、 };const オプション: FormatOptions = { linkUrls: true };const html: string = prettyPrintJson.toHtml(data, options);
ビルド タスクを整理するための興味深いアプローチについては、package.json のrunScriptsConfig
セクションを確認してください。
package.json 用の CLI ビルド ツール
? add-dist-header:配布ファイルの先頭に 1 行のバナー コメント (ライセンス通知付き) を追加します
? copy-file-util:オプションのパッケージのバージョン番号を使用してファイルをコピーまたは名前変更します
copy-folder-util:あるフォルダーから別のフォルダーにファイルを再帰的にコピーします
? recursive-exec:フォルダーとそのサブフォルダー内の各ファイルに対してコマンドを実行します。
? replacer-util:テキスト ファイル内の文字列またはテンプレート出力を検索して置換します
? rev-web-assets:キャッシュ無効化コンテンツ ハッシュ フィンガープリントを使用したリビジョン Web アセット ファイル名
? run-scripts-util: npm package.json スクリプトを管理しやすいコマンドのグループに整理します。
? w3c-html-validator: W3C バリデーターを使用して HTML ファイルのマークアップの有効性をチェックします。
HTML 結果の例を確認するには、 npm install
、 npm test
を実行してから、 node spec/examples.js
実行します。
お気軽に質問を送信してください:
github.com/center-key/pretty-print-json/issues
MITライセンス |ブログ投稿