¿Es una mala práctica usar guiones en las claves JSON?

7

Veo muchas preguntas que giran en torno al acceso a las claves JSON que usan guiones (kebab-case), pero ahora me pregunto si debería quedarme con camelCase o snake_case en mis claves. Sé que los guiones también pueden crear asignaciones complicadas cuando se transfieren entre idiomas. He visto que algunas bibliotecas de deserialización JSON convierten esas claves a un estilo camelCase.

Ejemplo:

var something = {
  "some-value": 'thing'
}

Vs

var something = {
  "someValue": 'thing',
  "some_other_value": 'thing_two'
}
    
pregunta Matt Oaxaca 28.05.2016 - 19:18

2 respuestas

11

Puede usar cualquier cosa como claves JSON, siempre que sea UTF-8 válido, no contenga puntos de código cero, 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 usar diferentes representaciones Unicode de la misma cadena (por ejemplo, "Ä" escritas como uno o dos puntos de código).

Leyendo algunos comentarios: parece que algunas personas intentan crear clases con variables de instancia que coinciden con las claves de los diccionarios JSON. Lo cual, por supuesto, no funciona si su clave tiene "algún valor" a menos que escriba COBOL. Creo que esto es un error. Tengo clases modelo que están diseñadas de la manera en que I las quiero. JSON solo se utiliza para rellenar las clases modelo. Tomaré lo que los chicos del servidor decidieron usar para las claves y lo pondré en los objetos del modelo my .

    
respondido por el gnasher729 28.05.2016 - 19:41
6

Hay muchos sistemas de serialización JSON que son más que capaces de manejar el mapeo entre nombres de campo que no son adecuados para el lenguaje en 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ías que hacerlo, pero si tu 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, así 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.

    
respondido por el Jules 29.05.2016 - 15:53

Lea otras preguntas en las etiquetas

Comentarios Recientes

Debido a cómo se está utilizando JSON JSON hoy, a menudo necesitamos referirnos a muchas cosas para identificar cada entidad por separado en html, en lugar de mostrar entidades que usan propiedades http regulares como, cidr o port. ejemplos como la clave anterior dentro de un servicio web, nuestra aplicación nombra las URL que contienen un orden claro dentro del espacio de nombres. De esta manera, el cliente evitará hacer asignaciones o índices relativos al reutilizar una propiedad DOM. Los esquemas de documentos... Lee mas