Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【JavaScript ECMAScript】TypeError: BigInt value can't be serialized in JSONエラーの使い方

TypeError: BigInt value can't be serialized in JSONエラーの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

TypeError: BigInt value can't be serialized in JSON定数は、JavaScriptのBigInt型の値をJSON形式の文字列に変換しようとした際に発生するエラーメッセージを表す定数です。JavaScriptにおけるBigInt型は、従来のNumber型で扱える数値の範囲を超える非常に大きな整数値を表現するために導入されたデータ型です。しかし、JSON(JavaScript Object Notation)の標準仕様には、このBigInt型に直接対応するデータ型が存在しません。

そのため、JavaScriptのJSON.stringify()メソッドを使用してオブジェクトをJSON形式の文字列に変換しようとした際、もしそのオブジェクトのプロパティや配列の要素にBigInt型の値が含まれていると、JSON.stringify()はその値をJSON文字列としてどのように表現すべきか判断できません。この状況下で、JSON.stringify()は「TypeError: BigInt value can't be serialized in JSON」という種類のエラーをスローし、処理を中断します。

このエラーは、BigInt型のデータがJSONの構造では適切に表現できないことを明確に示しています。したがって、Web APIを通じてデータを送信したり、設定ファイルをJSON形式で保存したりするなど、JSON形式でデータをやり取りする必要がある場面でBigInt値を使用する際には、事前にBigInt値をNumber型(ただし、値の範囲に収まる場合に限る)や文字列型に変換するなどの明示的な対応が必要です。システムエンジニアを目指す初心者の方にとって、データ型とシリアル化の際の互換性は重要な概念であるため、このエラーの意味と対処法を理解しておくことは、堅牢なシステム開発において非常に役立ちます。

構文(syntax)

1const bigIntValue = 123n;
2JSON.stringify(bigIntValue);

引数(parameters)

引数なし

引数はありません

戻り値(return)

TypeError

TypeError: BigInt value can't be serialized in JSON は、JSON形式でシリアライズできないBigInt型の値を扱おうとした際に発生するエラーオブジェクトです。

関連コンテンツ

関連プログラミング言語