Tipo y formato

Las propiedades type y format de los parámetros y esquemas se pueden usar para determinar el tipo de datos de la propiedad. La propiedad type indica el tipo de propiedad cuando se envía en solicitudes y respuestas JSON (JSON admite un pequeño conjunto de tipos de datos, consulta json.org para obtener más información). La propiedad format proporciona información adicional sobre el tipo subyacente. Las propiedades siempre tendrán una propiedad type, pero algunas también pueden tener una propiedad format.

Por ejemplo, un número entero de 64 bits no se puede representar en JSON (ya que JavaScript y JSON admiten números enteros de hasta 2^53). Por lo tanto, un número entero de 64 bits debe representarse como una cadena en las solicitudes o respuestas JSON. Por lo tanto, la propiedad type se establecerá en “cadena”, pero la propiedad format se establecerá en “int64” para indicar que es un número entero de 64 bits.

En la especificación del esquema de JSON, ya define un conjunto de valores comunes para la propiedad format. El servicio de descubrimiento de las APIs de Google admite algunos de estos valores y también define otros. A continuación, se resume la lista completa de los valores type y format compatibles con el servicio de descubrimiento de las APIs de Google.

Valor del tipo Valor del formato Significado
any La propiedad puede tener cualquier tipo. Definido por la especificación del esquema de JSON.
array Un array de valores de JavaScript. La propiedad items indica el esquema de los valores del array. Definido por la especificación del esquema de JSON.
boolean Un valor booleano, ya sea "true" o "false". Definido por la especificación del esquema de JSON.
integer int32 Un número entero de 32 bits con firma. Tiene un valor mínimo de -2,147,483,648 y un valor máximo de 2,147,483,647 (inclusive).
integer uint32 Un número entero de 32 bits sin firma. Tiene un valor mínimo de 0 y un valor máximo de 4,294,967,295 (inclusive).
number double Un punto flotante IEEE 754 de 64 bits de doble precisión
number float Un punto flotante IEEE 754 de 32 bits de precisión única.
object Un objeto JavaScript. Definido por la especificación del esquema de JSON.
string Una cadena arbitraria. Definido por la especificación del esquema de JSON.
string byte Una cadena de bytes codificada en Base64, codificada con una URL y un alfabeto seguro para el nombre de archivo (a veces denominado “web-safe” o “base64url”). Definido por RFC4648.
string date Una fecha RFC3339 en el formato AAAA-MM-DD. Se define en la especificación del esquema de JSON.
string date-time Una marca de tiempo RFC3339 en hora UTC. Tiene el formato aaaa-MM-ddTHH:mm:ss.SSSZ. La parte de milisegundos (“.SSS”) es opcional. Se define en la especificación del esquema de JSON.
string google-datetime Una marca de tiempo RFC3339 en hora UTC. Tiene el formato aaaa-MM-ddTHH:mm:ss.SSSZ. La parte de milisegundos (“.SSS”) es opcional.
string google-duration Una cadena termina en el sufijo “s” (indica los segundos) y está precedida por la cantidad de segundos, con nanosegundos expresados como segundos fraccionarios. El punto siempre se usa como separador de decimales, en lugar de una coma.
string google-fieldmask Una string en la que los nombres de campos están separados por comas. Los nombres de los campos se representan con convenciones de nomenclatura de mayúsculas mediales con minúscula inicial.
string int64 Un número entero de 64 bits con firma. Tiene un valor mínimo de -9,223,372,036,854,775,808 y un valor máximo de 9,223,372,036,854,775,807 (inclusive).
string uint64 Un número entero de 64 bits sin firma. Tiene un valor mínimo de 0 y un valor máximo de (2^64)-1 (inclusive).