Saya melihat banyak pertanyaan berputar di sekitar mengakses kunci JSON yang menggunakan tanda hubung (kasus kebab), tapi sekarang saya mendapati diri saya bertanya-tanya apakah saya harus tetap menggunakan camelCase atau snake_case di kunci saya. Saya tahu tanda hubung juga dapat membuat pemetaan yang rumit saat porting antar bahasa. Saya telah melihat beberapa perpustakaan deserialize JSON mengonversi kunci-kunci tersebut ke gaya camelCase.
Contoh:
var something = {
"some-value": 'thing'
}
Vs
var something = {
"someValue": 'thing',
"some_other_value": 'thing_two'
}
javascript
api
api-design
json
web-api
Matt Oaxaca
sumber
sumber
Jawaban:
Anda bisa menggunakan apa saja sebagai kunci JSON, selama itu valid UTF-8, tidak mengandung titik kode nol, dan akan berguna jika Anda bisa mewakili kunci tersebut sebagai string dalam bahasa pemrograman pilihan Anda. Saya mungkin menyarankan untuk tidak menggunakan representasi Unicode berbeda dari string yang sama (misalnya "Ä" ditulis sebagai satu atau dua poin kode).
Membaca beberapa komentar: Tampaknya beberapa orang mencoba membuat kelas dengan variabel instan yang cocok dengan kunci dalam kamus JSON. Yang tentu saja tidak berfungsi jika kunci Anda adalah "beberapa nilai" kecuali jika Anda menulis COBOL. Saya pikir ini salah arah. Saya memiliki kelas model yang dirancang seperti yang saya inginkan. JSON hanya digunakan untuk mengisi kelas model. Saya akan mengambil apa pun yang diputuskan oleh server untuk digunakan sebagai kunci dan memasukkannya ke dalam objek model saya .
sumber
Ada banyak sistem serialisasi JSON yang lebih dari mampu menangani pemetaan antara nama-nama bidang yang tidak cocok untuk digunakan dalam bahasa yang mereka integrasikan. Dalam kebanyakan kasus, mereka tidak sulit digunakan, dan hanya membutuhkan sedikit usaha ekstra. Di dunia yang ideal, Anda tidak perlu melakukannya, tetapi jika API Anda sudah menggunakan tanda hubung, mengubahnya akan lebih buruk daripada penyakitnya. Perhatikan juga bahwa menggunakan tanda hubung adalah gaya yang paling umum dalam bahasa tertentu, terutama yang menggunakan LISP, jadi mungkin ada minoritas yang diam dari konsumen API Anda yang senang melihat tanda hubung daripada format lain.
sumber
Setelah menghabiskan beberapa waktu di industri dan bekerja beberapa sistem. Saya tidak berpikir ada praktik terbaik atau casing yang tepat untuk kunci JSON. Aspek terpenting dari setiap pemformatan (casing / code-style / etc) adalah konsistensi dan adopsi tim.
Jika basis kode terfragmentasi dan tidak konsisten, bertemu sebagai satu tim dan menyepakati gaya yang konsisten, maka polisi formasi secara kolektif.
sumber