Saya tidak dapat mengambil nilai dari objek json ketika string memiliki karakter tanda hubung:
{
"profile-id":1234, "user_id":6789
}
Jika saya mencoba untuk mereferensikan hasil parsing jsonObj.profile-id
, ReferenceError: "id" is not defined
tetapi jsonObj.user_id akan mengembalikan 6789
Saya tidak memiliki cara untuk mengubah nilai yang dikembalikan oleh panggilan api eksternal dan mencoba mengurai string yang dikembalikan untuk menghapus tanda hubung akan merusak url, dll., Yang diteruskan juga. Tolong?
javascript
json
pengguna1902467
sumber
sumber
Utilities.jsonParse
tidak banyak bicara.Jawaban:
jsonObj.profile-id
adalah ekspresi pengurangan (yaitujsonObj.profile - id
).Untuk mengakses kunci yang berisi karakter yang tidak dapat muncul di pengenal, gunakan tanda kurung:
sumber
document.getElementById("someId").style["box-shadow"]="2px 2px 2px #616161";
bekerja dengan baik!style.boxShadow
sebagai gantinya. Thestyle
bertobat objek tanda hubung untuk CamelCase.Selain jawaban ini , perhatikan bahwa di Node.js jika Anda mengakses JSON dengan sintaks array,
[]
semua kunci JSON bersarang harus mengikuti sintaks ituIni jalan yang salah
dan akan memberi Anda kesalahan 'tidak ditentukan'.
Ini cara yang benar
sumber
Untuk kemungkinan, dan menggunakan tanda hubung, ini berhasil untuk saya:
sumber