JSON を人間が読みやすくする
JSON の操作は、特に API やデータ ストレージを扱う場合、開発者にとって一般的なタスクです。ただし、生の JSON はフォーマットされていないため、読み取ったり理解したりするのが難しい場合があります。 JSON をよりアクセスしやすくしたい場合は、適切なインデントと空白を適用することが重要です。
この記事では、JavaScript を使用して JSON を整形表示するさまざまな方法を検討します。基本的なインデントと空白のテクニックだけでなく、色やフォント スタイルで読みやすさを高める方法についても説明します。このガイドは、生の JSON を人間に優しい形式に変換するのに役立ちます。
指示 | 説明 |
---|---|
JSON.stringify(json, null, 2) | JavaScript オブジェクトをスペース 2 個のインデントを持つ JSON 文字列に変換します。 |
.replace(/(".*?"|null|true|false|\d+)/g, ...) | 正規表現を使用して、カスタム書式設定の特定の JSON 要素を識別します。 |
http.createServer(...).listen() | 指定されたポートでリッスンする HTTP サーバーを Node.js に作成します。 |
res.writeHead(200, { 'Content-Type': 'application/json' }) | コンテンツ タイプが JSON であることを示すように HTTP 応答ヘッダーを設定します。 |
res.end() | 応答をクライアントに送り返し、すべての応答ヘッダーと本文が送信されたことを通知します。 |
document.body.innerHTML | ドキュメント内の body 要素の HTML コンテンツを設定または取得します。 |
JSONフォーマットスクリプトの詳細説明
最初のスクリプトは、インデントを追加し、カラー コーディングを適用することで、JSON をきれいに印刷するように設計されたフロントエンド JavaScript ソリューションです。スクリプトは、という関数で始まります。 prettyPrintJSON、JSON オブジェクトを入力として受け取ります。この関数内では、JSON オブジェクトは、 JSON.stringify(json, null, 2) 方法。これにより、必要な空白が追加され、JSON がより読みやすくなります。可読性をさらに高めるために、スクリプトでは .replace(/(".*?"|null|true|false|\d+)/g, ...) メソッドを正規表現で使用して、文字列、数値、ブール値、null 値などの特定の JSON 要素と一致させます。一致した各要素は、 タグを対応するクラスに追加すると、CSS が各データ型に異なる色を適用できるようになります。フォーマットされた JSON 文字列は、次を使用してドキュメントの本文に挿入されます。 document.body.innerHTML。
2 番目のスクリプトは、Node.js を使用して JSON を整形印刷するバックエンド ソリューションです。このスクリプトは、HTTP サーバーを作成します。 http.createServer(...)を使用して、指定されたポートで受信リクエストをリッスンします。 .listen()。リクエストを受信すると、サーバーは読みやすいようにフォーマットされた JSON オブジェクトで応答します。 JSON オブジェクトは、次を使用してインデント付きの文字列に変換されます。 JSON.stringify(json, null, 2)。応答ヘッダーは、コンテンツ タイプが JSON であることを示すように設定されます。 res.writeHead(200, { 'Content-Type': 'application/json' })。最後に、整形された JSON 文字列が次を使用してクライアントに送信されます。 res.end()。このスクリプトを使用すると、開発者はサーバーのアドレスに移動するだけで、適切にフォーマットされた JSON 出力をブラウザーですぐに確認できます。
JavaScript を使用して JSON をフォーマットして読みやすくする
フロントエンドJavaScript
// Function to pretty-print JSON with indentation and colors
function prettyPrintJSON(json) {
// Convert JSON object to string with 2-space indentation
const jsonString = JSON.stringify(json, null, 2);
// Replace specific characters for color coding
return jsonString.replace(/(".*?"|null|true|false|\d+)/g, match => {
let cls = "number";
if (/^".*"$/.test(match)) {
cls = "string";
} else if (/true|false/.test(match)) {
cls = "boolean";
} else if (/null/.test(match)) {
cls = "null";
}
return `<span class="${cls}">${match}</span>`;
});
}
// JSON data
const jsonData = {
"name": "John",
"age": 30,
"city": "New York",
"isStudent": false
};
// Display formatted JSON
document.body.innerHTML = `<pre>${prettyPrintJSON(jsonData)}</pre>`;
Pretty-Print JSON へのバックエンド アプローチ
Node.jsを使用したバックエンド
const http = require('http');
const url = require('url');
// Function to pretty-print JSON
function prettyPrintJSON(json) {
return JSON.stringify(json, null, 2);
}
// Create HTTP server
http.createServer((req, res) => {
res.writeHead(200, { 'Content-Type': 'application/json' });
// Sample JSON data
const jsonData = {
name: "John",
age: 30,
city: "New York",
isStudent: false
};
// Send pretty-printed JSON
res.end(prettyPrintJSON(jsonData));
}).listen(3000, () => {
console.log('Server running at http://localhost:3000');
});
追加ツールによる JSON の可読性の向上
これまでのソリューションは、JSON をきれいに印刷するためのフロントエンドとバックエンドの JavaScript メソッドに焦点を当てていましたが、JSON の可読性をさらに向上させるツールやテクニックは他にもあります。一般的なアプローチの 1 つは、ブラウザ拡張機能またはオンライン ツールを使用することです。 JSONView や JSON Formatter などの拡張機能を使用すると、ブラウザーで JSON を自動的にフォーマットし、インデントや色分けを追加して読みやすさを向上させることができます。これらのツールは、API を頻繁に操作し、追加のコードを記述せずに JSON データを迅速に解析して理解する必要がある開発者にとって特に役立ちます。
もう 1 つの便利な方法には、Highlight.js や Prism.js などのライブラリを活用することが含まれます。これらのライブラリは、JSON を含むさまざまなプログラミング言語の構文の強調表示を処理するように設計されています。これらのライブラリを Web アプリケーションに統合して、JSON データを動的にフォーマットして強調表示することができます。を使用することで Highlight.jsでは、事前定義されたテーマを JSON 文字列に適用できるため、さまざまなデータ型を区別しやすくなります。さらに、このようなライブラリを開発ワークフローに統合すると、時間を節約し、さまざまなプロジェクト間で JSON 形式の一貫性を確保できます。
JSON 形式に関するよくある質問
- きれいに印刷できる JSON とは何ですか?
- JSON の整形とは、人間が読みやすいようにインデントと空白を使用して JSON データをフォーマットすることを指します。
- JSON 形式が重要なのはなぜですか?
- 適切な JSON 形式により可読性が向上し、開発者がデータの構造と内容を迅速に理解できるようになります。
- とは何ですか JSON.stringify 方法?
- の JSON.stringify メソッドは、JavaScript オブジェクトを JSON 文字列に変換します。
- どうやって JSON.stringify きれいな印刷に役立ちますか?
- 通りすがりに JSON.stringify 3 番目の引数 (インデント レベル) を使用すると、JSON 文字列をインデントでフォーマットできます。
- ハイライト.jsとは何ですか?
- Highlight.js は、JSON データの書式設定と強調表示に使用できる構文強調表示用のライブラリです。
- ブラウザ拡張機能を使用して JSON をフォーマットできますか?
- はい、JSONView や JSON Formatter などの拡張機能を使用すると、ブラウザーで JSON を自動的にフォーマットできます。
- の目的は何ですか replace JSON形式のメソッド?
- の replace 正規表現を使用したメソッドを使用して、さまざまな JSON 要素にカラーコーディングを追加できます。
- JSON をきれいに印刷する一般的な使用例は何ですか?
- JSON の整形は、デバッグ時や技術者以外の関係者に JSON データを提示するときによく使用されます。
- Node.js で JSON をきれいに印刷するにはどうすればよいですか?
- Node.js で HTTP サーバーを作成し、使用できます。 JSON.stringify JSON 応答をフォーマットします。
JSON フォーマットに関する最終的な考え
JSON をきれいに印刷することは、データの読みやすさと使いやすさを向上させるために不可欠です。 JavaScript を使用すると、開発者はインデント、空白、カラーコーディングを適用して、JSON をより人間に優しいものにすることができます。さらに、ブラウザ拡張機能と構文強調表示ライブラリを利用すると、書式設定をさらに強化できます。これらの手法を組み合わせると、JSON データのデバッグと表示が向上し、データ処理の明確さと効率が確保されます。