Rumah >hujung hadapan web >tutorial js >Bagaimanakah Saya Mengakses Sifat Objek JSON yang Mengandungi Sempang?

Bagaimanakah Saya Mengakses Sifat Objek JSON yang Mengandungi Sempang?

Susan Sarandon
Susan Sarandonasal
2024-11-26 19:29:13809semak imbas

How Do I Access JSON Object Properties Containing Dashes?

Mengakses JSON Object Properties dengan Dash Characters

Isu ini timbul apabila cuba mendapatkan semula nilai daripada objek JSON di mana kunci sifat mengandungi aksara sempang (-). Sebagai contoh, pertimbangkan JSON berikut:

{
"profile-id":1234, "user_id":6789
}

Jika kami cuba mengakses sifat "profile-id" menggunakan notasi titik (iaitu, jsonObj.profile-id), kami menghadapi ralat "ReferenceError: ' id' tidak ditakrifkan."

Mengapa Notasi Titik Gagal

Dalam JavaScript, kunci sifat dalam objek hanya boleh mengandungi aksara tertentu, termasuk huruf, nombor dan garis bawah. Dash bukan salah satu daripada aksara yang dibenarkan ini. Notasi titik menukarkan kunci sifat secara automatik dengan sempang kepada ungkapan penolakan (iaitu, jsonObj.profile - id).

Penyelesaian: Menggunakan Notasi Kurungan

Untuk mengatasi had ini, kita boleh menggunakan kurungan notasi untuk mengakses sifat objek. Notasi kurungan membolehkan kami menentukan kunci sifat sebagai rentetan. Untuk mengakses sifat "id-profil", kita boleh menggunakan sintaks berikut:

jsonObj["profile-id"]

Contoh

Berikut ialah contoh yang menunjukkan cara menggunakan notasi kurungan untuk mengakses sifat dengan aksara sempang :

const jsonObj = {
  "profile-id": 1234,
  "user_id": 6789,
};

console.log(jsonObj["profile-id"]); // Output: 1234

Atas ialah kandungan terperinci Bagaimanakah Saya Mengakses Sifat Objek JSON yang Mengandungi Sempang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn