HTMLとJavaScriptで作るJSON整形ツールの作り方記事のアイキャッチイメージ|エラー位置表示とハイライト機能付きのサンプルを紹介

開発ガイド

JSON整形ツールの作り方|エラー表示&ハイライト機能付き!HTMLとJavaScriptで簡単実装

「JSONのエラーって、どこが間違っているのか分かりにくい…」
「ただの整形ツールじゃなくて、エラー箇所まで教えてくれる便利なツールがあったらいいのに!」

そんな悩みを解決できるのが、エラー位置を表示し、ハイライトして教えてくれるJSON整形ツールです。
実はこれ、HTMLとJavaScriptを使えば初心者でも簡単に作成できるんです!

この記事では、ブラウザ上で動作するJSON整形ツールの作り方を、初心者の方にもわかりやすいように解説します。
基本的なHTMLファイルの作成方法から、JSONのパース処理、エラー位置の特定&ハイライト表示の実装方法まで、
実際に手を動かしながら学べる内容となっています。

完成イメージの確認|作るものの概要

まずは、これから作成するJSON整形ツールの完成イメージを確認しておきましょう。
「どんなツールができあがるのか?」をイメージしておくと、学習のモチベーションも上がります!

作成するツールの主な機能

  • JSONデータを見やすく整形する(インデント付き表示)
  • エラー箇所があれば位置を表示し、該当部分を赤くハイライト
  • 結果をコピーボタンでコピーできる
  • HTMLとJavaScriptだけで実現(追加ライブラリ不要)
  • スマホ対応のシンプルで見やすいデザイン

完成イメージ

【実際にJSON整形ツールを使って、実際に動かしてみたい方はこちら!】▼

HTMLファイルを作って動かしてみよう

ツールの動作を確認するには、まずはHTMLファイルを作成してブラウザで開いてみることから始めましょう。
難しい設定は一切不要。以下の手順通りに進めれば、すぐにツールが動きます。

【手順】

  1. メモ帳やVisual Studio Codeなどのテキストエディタを開きます。
  2. 以下で紹介するサンプルをコピーして、エディタに貼り付けます。

3.ファイル名を 「json-formatter.html」 として保存します。
 ※ファイル名は自由に変更してOKですが、必ず拡張子は .html にすること
4.保存したファイルをダブルクリックすれば、Webブラウザでツールが起動します。
 ブラウザに「こんにちは!」と表示されれば成功です。

【うまく表示されないときは?】

  • ファイルの拡張子が .txt になっていないか確認しましょう。
  • ブラウザのキャッシュが原因の場合は、ページの再読み込み(Ctrl + F5)を試してみてください。

実際に作ってみよう|サンプルコード解説

それでは、実際にJSON整形ツールのコードを書いていきましょう!
初心者の方でも理解しやすいように、まずは完成版のコードを全文載せて、
その後でポイントごとに分けて詳しく解説します。

完成版コード

以下が、今回作成するJSON整形ツールの完成コードです。
まずは全体像をざっと確認し、動かしてみましょう。

HTMLの基本構造

以下のコードで、入力欄とボタン、結果表示エリアを作っています。

ポイント

  • <label>タグで入力欄の説明をつけると、何を入力する欄か分かりやすい!
  • <textarea>id はJavaScriptで操作するために必要。

JSONの整形処理(JavaScript)

ポイント

  • JSON.parse()で文字列からJSONデータに変換。
  • JSON.stringify()で整形して出力。第2引数 null、第3引数 4 でインデント幅を指定しています。
  • resultArea.innerHTML に整形済みのデータを表示。

エラー位置の特定とハイライト表示

ポイント

  • e.message から「何文字目でエラーが起きたか」を抽出。
    JavaScriptのJSON.parse()を使うと、JSONにエラーがあった場合、エラーメッセージに「position ○○」という情報が含まれます。
    この「position ○○」が、何文字目でエラーが発生したかを示しています。
    そして、match() で「position 数字」の部分を正規表現で抽出しています。
  • その位置を for ループで探し、該当箇所に <span> を挿入して赤くハイライト表示。
  • ハイライトのCSSは error-highlight クラスで指定しています。

CSSデザイン(シンプル&分かりやすいデザイン)

ポイント

  • width: 100%:テキスト入力欄を横いっぱいに広げることで、スマホでも見やすく。
  • font-size: 16px:文字が小さすぎず、大きすぎず、読みやすいサイズ。
  • padding:文字と枠の間に余白を入れて圧迫感を減らす。
  • border / border-radius:枠線と角丸で、柔らかい見た目に。
  • box-sizing: border-box:余白や枠線を含めてサイズ計算する設定で、全体のレイアウトが崩れにくくなる。

ポイント

  • background:結果表示エリアを白背景にして、データを見やすく。
  • min-height / max-height:結果表示の高さを固定しすぎず、内容に応じて伸縮するように設定。
  • overflow-y: auto:データが多い場合に縦スクロールできるように。
  • white-space: pre-wrap:JSONのインデントや改行をそのまま表示。
  • word-wrap: break-word:長い単語(例:キー名)が折り返されるように設定。

ポイント

  • エラー箇所を赤背景+赤文字で目立たせる。
  • font-weight: bold で太字にして、見逃しにくくしている。

さらに学びたい方におすすめの学習リソース

「自分でツールを作るのは楽しい!」と感じた方は、さらにステップアップを目指して、
JavaScriptやJSONの基礎から学び直すのもおすすめです。
ここでは、初心者の方でも理解しやすく、実務でも役立つ知識が身につく学習リソースを紹介します。

【おすすめ書籍】

確かな力が身につくJavaScript超入門

JavaScriptの基礎から学べる入門書。
「JavaScriptって何?」という超初心者にもわかりやすい解説で、
今回のツール作成に必要な基礎知識(変数、関数、イベント処理など)をしっかり学べます。

Python+JSON データ活用の奥義

PythonでのJSONデータ活用を学びたい方にぴったりの一冊です。
公共データの取得やAI作成の例を通じて、JSONを実務でどのように活用できるかを学べます。
JSONを使ったデータ処理の幅を広げたい方におすすめです。

まとめ

今回は、エラー位置表示&ハイライト機能付きのJSON整形ツールを、HTMLとJavaScriptで作成する方法を解説しました。
一見難しそうに見えるツールも、基本的なHTMLファイルの作り方から、JavaScriptでのJSON処理、エラーの位置表示の仕組みまで
ステップごとに進めれば意外とシンプルに作れることが分かったのではないでしょうか。

JSON整形ツールは、日々の開発作業の効率化や学習のサポートにとても役立つツールです。
自分で作ることで、JavaScriptの理解が深まるのはもちろん、ツールを使う側の視点も養えます。

ぜひ今回の内容を参考に、他の便利ツール作りにもチャレンジしてみてください!
また、ツール本体の記事や活用法の記事もあわせて読むことで、学びをさらに深められますので、ぜひチェックしてみてくださいね!

関連記事

【実際にJSON整形ツールを使って、今回の学習内容を試してみましょう】▼

JSON整形ツールの便利な活用法はこちら】▼

-開発ガイド
-, , , , , ,