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). |