本文へスキップ

開発者ツール — JSON整形・検証、正規表現テスター、cron式の解説

JSONを貼り付けるとすぐに検証し、エラーを行と列で示すJSONフォーマッターです。インデント整形・1行圧縮・キー名順の並べ替え・YAML変換・ツリー表示に対応し、大きな整数やキーの順序は原文のまま保ちます。同じページのタブでは、JavaScriptの正規表現を試せる正規表現テスターと、cron式を文章に直して次回実行時刻を計算するcron解説ツールも使えます。入力した内容はサーバーに送信しません。

JSON整形・検証

JSONを貼り付けるとすぐに検証し、間違いは行と列で示します。インデント整形・1行への圧縮・YAML変換・ツリー表示に対応し、大きな数値やキーの順序は変えずにそのまま保ちます。

結果
左側にJSONを貼り付けると、ここに結果が表示されます。初めてなら上の「サンプル」ボタンを押してみてください。
入力を待っています。

正規表現テスター

パターンとフラグを入れると、テスト文字列の一致箇所を色付けし、キャプチャグループと置換結果を表示します。ブラウザのJavaScript正規表現エンジンでそのまま実行します。

パターンを入力してください。
一致一覧

一致する箇所はありません。

$1・$2 は番号付きグループ、$<名前> は名前付きグループ、$& は一致全体です。空欄なら置換しません。

cron式の解説

cron式を読みやすい文章に直し、選んだタイムゾーンで次回実行時刻を5件計算します。分・時・日・月・曜日の5フィールドからなる標準crontab形式です。

フィールドごとの意味
次回実行時刻

    サーバーのcronは通常サーバーのタイムゾーンで動きます。GitHub Actionsのscheduleや多くのクラウドスケジューラーはUTC基準なので、日本時間(UTC+9)に合わせるには9時間引いて書く必要があります。

    よくある質問

    貼り付けたJSONやテスト文字列はサーバーに送信されますか?
    いいえ。検証・変換・マッチ・計算はすべてこのブラウザの中で完結し、入力した内容はどこにも送らず保存もしません。APIレスポンスや設定ファイルのような機密性のある内容を貼り付けても大丈夫です。このブラウザには、最後に開いたタブやインデントなどの表示設定だけを残します。
    整形すると数値やキーの順序が変わりませんか?
    変わりません。このフォーマッターはJavaScriptのJSON.parseを通さず自前で読むため、2の53乗を超える大きな整数(例:Twitter・DiscordのID)や1.0のような数値の書き方も原文のまま残します。"10"、"2"のような数字のキーが先頭に移動することもありません。同じキーが2回出てきた場合は両方残し、警告でお知らせします。
    コメントや末尾のカンマがあるJSONも使えますか?
    標準のJSONはコメント、最後の項目の後のカンマ、シングルクォートの文字列を認めていないため、エラーとして表示します。ただしよくある間違いなので、「末尾にカンマが残っています」「シングルクォートは使えません」のように何が問題かとその位置を示します。その箇所だけ直せば大丈夫です。
    正規表現はどの言語の文法に従いますか?
    ブラウザのJavaScript(ECMAScript)正規表現エンジンでそのまま実行します。名前付きグループ、後読み(lookbehind)、Unicodeプロパティ(uフラグでの\p{L}など)が使えます。PCRE・Pythonにしかない強欲な量指定子、アトミックグループ、\A・\Zなどの文法には対応していないので、他の言語で使うパターンなら文法の違いを一度確認してください。
    「1.5秒以内に終わりませんでした」とはどういう意味ですか?
    (a+)+$ のように量指定子が入れ子になったパターンは、一致しない入力で組み合わせを爆発的にたどり直し、数分間止まることがあります(壊滅的バックトラック)。このページは正規表現を別のワーカースレッドで実行し、1.5秒を過ぎると打ち切るため、画面が固まりません。このメッセージが出たら、実際のサービスでも同じ入力でサーバーが止まりうるというサインなので、量指定子の入れ子を解消してください。
    cronで日と曜日を両方指定するとどうなりますか?
    標準のcrontabでは、両方ともアスタリスクでなければ「どちらか一方が合えば」実行します。たとえば 0 9 1 * 1 は毎月1日と、毎週月曜日の午前9時に動きます。曜日の0と7はどちらも日曜日で、MON・JANのような英語の略称も使えます。秒フィールド付きの6フィールド形式(Quartz・Spring)やL・W・#などの拡張文法には対応していません。

    関連ツール