javascript JSONのパース(解析)がサポートされているかを確認する

javascript JSONのパース(解析)がサポートされているかを確認する

javascriptで、window.JSONを使用して、ブラウザがJSONのパース(解析)がサポートされているかを確認するサンプルコードを記述してます。

環境

  • OS windows11 home
  • ブラウザ chrome 102.0.5005.115

window.JSON使い方

window.JSONを使用すれば、ブラウザがJSONのパース(解析)がサポートされているかを確認することが可能です。

let result = Boolean(window.JSON);

console.log(result); // されていれば true なければ false

ちなみに「window」オブジェクトは省略することが可能です。

let result = Boolean(JSON);

サンプルコード

以下は、
「判別」ボタンをクリックすると、判別結果を表示するだけの
サンプルコードとなります。

※cssには「bootstrap material」を使用してます。

<!DOCTYPE html>
<html lang="ja">

<head>
  <meta charset="utf-8">
  <title>mebeeサンプル</title>
  <!-- MDB -->
  <link href="https://cdnjs.cloudflare.com/ajax/libs/mdb-ui-kit/4.1.0/mdb.min.css" rel="stylesheet" />
</head>

<body>

  <div class="container text-center w-50" style="margin-top:150px">

    <h2><span id="foo" class="badge badge-success">判定結果</span></h2>

    <button onclick="hoge();" type="button" class="btn btn-raised btn-danger">
      判別
    </button>

  </div>

  <script>

    function hoge() {

      // jsonパースに対応しているかを確認
      let result = Boolean(window.JSON);

      // 表示用の要素
      let elm = document.getElementById("foo");

      // 判別
      if (result) {
        elm.textContent = "対応";
      } else {
        elm.textContent = "非対応";
      }

    }

  </script>
</body>

</html>

判別されていることが確認できます。

また、javascript部はwindowオブジェクトやdocument.getElementByIdを省略して記述することも可能です。三項演算子も使用してます。

function hoge() {
    Boolean(JSON) ? foo.textContent = "対応" : foo.textContent = "非対応";
}