92 votos

<g id="44"/>Convención de nomenclatura<g id="45"/>

¿Hay un estándar de JSON de nombres? Ver más ejemplos usando todas mayúsculas separadas por un guión bajo (lower_case). Pero, ¿puedes usar PascalCase o camelCase?

82voto

ThoQ Luong Puntos 416

En este documento (recomendaciones para la construcción de las API JSON en Google):

Guía de estilo Google JSON

Se recomienda:

1 / los nombres de propiedad deben ser con grafía camel, cadenas de ascii.

2 / el primer carácter debe ser una letra, un subrayado (_) o un signo de dólar ($).

Ejemplo:

{
  "thisPropertyIsAnIdentifier": "identifier value"
}

Nuestro equipo utiliza este Convenio.

58voto

StaxMan Puntos 34626

No hay un estándar, pero he visto 3 estilos que usted menciona ("Pascal/Microsoft", "Java" (camelCase) y "C" (se subraya)). Así que todo parece depender de qué fondo desarrolladores del servicio en cuestión; aquellos con c/c++ de fondo (o los idiomas que adoptar la nomenclatura similar, que incluye muchos lenguajes de secuencias de comandos, ruby, etc) suelen elegir subrayado variante; y el resto de manera similar (Java vs .NET). Jackson de la biblioteca que se ha mencionado, por ejemplo, se supone Java bean (convención de nomenclatura camelCase)

25voto

JSON empezó como parte de una especificación JavaScript y que es de donde el nombre de Notación de Objetos de JavaScript.

No hay un estándar de nomenclatura de las claves en la JSON pero en JavaScript no existe un estándar de nomenclatura para los miembros de la clase y que es en camelCase. Ejemplos famosos son:

  1. navigator.userAgent
  2. navigator.appVersion
  3. screen.availWidth

La correspondiente convención de nomenclatura de las claves para JSON, es y debe ser en camelCase , independientemente de qué lenguaje de programación el JSON que se formó.

7voto

Clarence Liu Puntos 2062

En particular para mí en NodeJS, si estoy trabajando con bases de datos y a mi los nombres de campo se subrayan separados, también el uso de ellos en la estructura de las teclas.

Esto es debido a que db campos tienen un montón de siglas/abreviaturas algo así como appSNSInterfaceRRTest se ve un poco desordenado pero app_sns_interface_rr_test es más agradable.

En Javascript variables son todos camelCase y los nombres de clase (los constructores) son ProperCase, así que vas a ver algo como

var devTask = {
        task_id: 120,
        store_id: 2118,
        task_name: 'generalLedger'
    };

o

generalLedgerTask = new GeneralLedgerTask( devTask );

Y, por supuesto, en JSON teclas/se ajustan las cadenas entre comillas dobles, pero, a continuación, usted sólo tiene que utilizar el JSON.stringify y pase JS objetos, por lo que no necesita preocuparse acerca de eso.

Luché con este un poco hasta que me encontré con este término medio entre JSON y JS convenciones de nomenclatura.

2voto

entropo Puntos 1805

Parece que hay suficiente variación que pasan fuera de su camino para permitir la conversión de todos los convenios a los demás: http://www.cowtowncoder.com/blog/archives/cat_json.html

En particular, prefiere el analizador Jackson JSON mencionado bean_naming .

Iteramos.com

Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.

Powered by: