Newly available 主要ブラウザの最新版で対応済み。古いブラウザが対象外なら使用可能。

概要

JSON source text access は JSON.parse の reviver コールバックに source テキストを提供します。BigInt など精度の高い数値変換に使用します。

対応ブラウザ

機能 デスクトップ モバイル
Chrome
Edge
Firefox
Safari
Chrome Android
Safari iOS
114
114
135
18.4
114
18.4
ビルトインオブジェクト

reviver が指定されている場合、解析によって計算された値は返される前に変換されます。 具体的には、計算された値とそのすべてのプロパティ (最もネストされたプロパティから始まり、元の値自体に進む深さ優先の方法で) が、Reviver を通じて個別に実行されます。

114
114
135
18.4
114
18.4

JSON.rawJSON() 静的メソッドは、 JSON テキストの一部を含む「生の JSON」オブジェクトを生成します。 JSON にシリアライズされた場合、生の JSON オブジェクトは既に JSON の一部であるかのように扱われます。このテキストは有効な JSON であることが求められます。

114
114
135
18.4
114
18.4
1+対応 (バージョン) 未対応 注釈あり サブ機能の解説は MDN Web Docs (CC BY-SA 2.5)

基本構文

JAVASCRIPT
JSON.parse('{"big": 12345678901234567890}', (key, value, { source }) => {
  if (key === 'big') return BigInt(source);
  return value;
});

ライブデモ

Check JSON.rawJSON support

Detect the API and fall back when the runtime does not support it yet.

JavaScript
出力
「実行」ボタンを押してください

Embed pre-serialized JSON

Insert a prebuilt JSON fragment without double-encoding it.

JavaScript
出力
「実行」ボタンを押してください

Compare with a normal string

See the difference between raw JSON insertion and a plain string field.

JavaScript
出力
「実行」ボタンを押してください

実務での使いどころ

  • JSON source text access の活用

    JSON パース時に元のソーステキストにアクセスする機能。精度を失わない数値処理が可能。

注意点

  • 古いブラウザ(IE等)では対応していない。対象ブラウザを確認すること。

アクセシビリティ

  • JavaScript による動的更新時は、aria-live リージョンで変更をスクリーンリーダーに通知する。

Powered by web-features