JSON source text access
JSON source text access は JSON.parse の reviver コールバックに source テキストを提供します。BigInt など精度の高い数値変換に使用します。
概要
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 |
基本構文
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.
Embed pre-serialized JSON
Insert a prebuilt JSON fragment without double-encoding it.
Compare with a normal string
See the difference between raw JSON insertion and a plain string field.
実務での使いどころ
-
JSON source text access の活用
JSON パース時に元のソーステキストにアクセスする機能。精度を失わない数値処理が可能。
注意点
- 古いブラウザ(IE等)では対応していない。対象ブラウザを確認すること。
アクセシビリティ
- JavaScript による動的更新時は、aria-live リージョンで変更をスクリーンリーダーに通知する。
参考リンク
Powered by web-features