Escribir y dar formato

Las propiedades type y format de los parámetros y los esquemas se pueden usar para determinar el tipo de datos de la propiedad. La propiedad type indica el tipo de la 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 entero de 64 bits no se puede representar en JSON (ya que JavaScript y JSON admiten 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 asignará a "string", pero la propiedad format se asignará a "int64" para indicar que es un número entero de 64 bits.

La especificación del esquema 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 muestra un resumen de la lista completa de valores de type y format admitidos por el servicio de descubrimiento de APIs de Google.

Tipo de valor Valor del formato Significado
any La propiedad puede ser de cualquier tipo. Definido por la especificación del esquema JSON.
any google.protobuf.Value La propiedad tiene la representación JSON del tipo google.protobuf.Value.
array Una matriz de valores de JavaScript. La propiedad items indica el esquema de los valores de la matriz. Según se define en las especificaciones del esquema JSON.
array google.protobuf.ListValue La propiedad tiene la representación JSON del tipo google.protobuf.ListValue.
boolean Valor booleano, que puede ser "true" o "false". Según se define en las especificaciones del esquema JSON.
integer int32 Número entero con signo de 32 bits. Tiene un valor mínimo de -2.147.483.648 y un valor máximo de 2.147.483.647 (ambos incluidos).
integer uint32 Un número entero sin signo de 32 bits. Tiene un valor mínimo de 0 y un valor máximo de 4.294.967.295 (ambos incluidos).
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 simple.
object Un objeto de JavaScript. Según se define en las especificaciones del esquema JSON.
object google.protobuf.Struct La propiedad tiene la representación JSON del tipo google.protobuf.Struct.
object google.protobuf.Any La propiedad tiene la representación JSON del tipo google.protobuf.Any.
string Una cadena arbitraria. Según se define en las especificaciones del esquema JSON.
string byte Cadena de bytes codificada en base64 con relleno y codificada con un alfabeto seguro para URLs y nombres de archivo (a veces se denomina "segura para la Web" o "base64url"). Definido en RFC4648.
string date Una fecha RFC3339 con el formato AAAA-MM-DD. Definido en las especificaciones del esquema JSON.
string date-time Marca de tiempo RFC3339 en hora UTC. El formato es yyyy-MM-ddTHH:mm:ss.SSSZ. La parte de los milisegundos (".SSS") es opcional. Definido en las especificaciones del esquema JSON.
string google-datetime Marca de tiempo RFC3339 en hora UTC. El formato es yyyy-MM-ddTHH:mm:ss.SSSZ. La parte de los milisegundos (".SSS") es opcional.
string google-duration Una cadena termina con el sufijo "s" (que indica segundos) y va precedida del número de segundos, con los nanosegundos expresados como fracciones de segundo. Siempre se usa el punto como separador decimal, no la coma.
string google-fieldmask Cadena en la que los nombres de los campos están separados por comas. Los nombres de los campos se representan con la convención de nomenclatura camel en minúsculas.
string int64 Un número entero con signo de 64 bits. 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 sin signo de 64 bits. Tiene un valor mínimo de 0 y un valor máximo de (2^64)-1 (inclusive).