この問題は、プロパティ キーにダッシュ文字 (-) が含まれる JSON オブジェクトから値を取得しようとすると発生します。たとえば、次の JSON について考えてみましょう:
{ "profile-id":1234, "user_id":6789 }
ドット表記 (つまり、jsonObj.profile-id) を使用して「profile-id」プロパティにアクセスしようとすると、エラー「ReferenceError: '」が発生します。 id' が定義されていません。
JavaScript では、プロパティオブジェクト内のキーには、文字、数字、アンダースコアなどの特定の文字のみを含めることができます。ダッシュは、これらの許可された文字の 1 つではありません。ドット表記は、ダッシュ付きのプロパティ キーを減算式 (つまり、jsonObj.profile - id) に自動的に変換します。
この制限を克服するには、ブラケットを使用します。オブジェクトのプロパティにアクセスするための表記法。括弧表記を使用すると、プロパティ キーを文字列として指定できます。 「profile-id」プロパティにアクセスするには、次の構文を使用できます。
jsonObj["profile-id"]
ここでは、括弧表記を使用してダッシュ文字を含むプロパティにアクセスする方法を示す例を示します。 :
const jsonObj = { "profile-id": 1234, "user_id": 6789, }; console.log(jsonObj["profile-id"]); // Output: 1234
以上がダッシュを含む JSON オブジェクト プロパティにアクセスするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。