Veo muchas preguntas que giran en torno al acceso a las teclas JSON que usan guiones (kebab-case), pero ahora me pregunto si debería seguir con camelCase o snake_case en mis teclas. Sé que los guiones también pueden crear asignaciones complicadas cuando se transfieren entre idiomas. He visto algunas bibliotecas JSON deserializar convertir esas claves a un estilo camelCase.
Ejemplo:
var something = {
"some-value": 'thing'
}
Vs
var something = {
"someValue": 'thing',
"some_other_value": 'thing_two'
}
javascript
api
api-design
json
web-api
Matt Oaxaca
fuente
fuente
Respuestas:
Puede usar cualquier cosa como claves JSON, siempre que sea UTF-8 válido, no contenga cero puntos de código, y sería útil si pudiera representar la clave como una cadena en el lenguaje de programación de su elección. Podría recomendar no utilizar diferentes representaciones Unicode de la misma cadena (por ejemplo, "Ä" escrito como uno o dos puntos de código).
Lectura de algunos comentarios: Parece que algunas personas intentan crear clases con variables de instancia que coincidan con las claves en los diccionarios JSON. Lo cual, por supuesto, no funciona si su clave es "algún valor" a menos que escriba COBOL. Creo que esto está equivocado. Tengo clases modelo que están diseñadas de la manera que las quiero. JSON solo se usa para llenar las clases de modelo. Tomaré lo que los servidores decidieron usar para las claves y lo pondré en mis objetos modelo.
fuente
Hay muchos sistemas de serialización JSON que son más que capaces de manejar la asignación entre nombres de campo que no son adecuados para usar en el idioma con el que se integran. En la mayoría de los casos, no son difíciles de usar y requieren solo un poco de esfuerzo adicional. En un mundo ideal, no tendría que hacerlo, pero si su API ya usa guiones, cambiarlo sería una cura peor que la enfermedad. También tenga en cuenta que el uso de guiones es el estilo más común en ciertos idiomas, especialmente aquellos basados en LISP, por lo que probablemente haya una minoría silenciosa de los consumidores de su API que estén felices de ver guiones en lugar de otro formato.
fuente
Después de pasar un tiempo en la industria y trabajar en algunos sistemas. No creo que haya una mejor práctica o una carcasa adecuada para las claves JSON. El aspecto más importante de cualquier formato (carcasa / estilo de código / etc.) es la coherencia y la adopción del equipo.
Si la base del código es fragmentada e inconsistente, reúnase como un equipo y acuerde un estilo consistente y luego controle el formateo colectivamente.
fuente