Open Cloud representa solicitudes y respuestas de paquetes como JSON estándar.Los tipos JSON de normas son texto, valores, objetos, arrays, números y cadenas.Algunos tipos tienen consideraciones especiales para representar tipos específicos de datos, que se describen en las siguientes secciones.
Sello de tiempo
Usa el RFC 3339, donde la salida generada siempre será Z-normalizada y utiliza 0, 3, 6 o 9 decimales fraccionarios. También se aceptan desviaciones diferentes a "Z".
Ejemplo de fecha y hora
{ "timestamp": "1972-01-01T10:00:20.021Z" }
Duración
La salida generada siempre contiene 0, 3, 6 o 9 decimales fraccionarios, dependiendo de la precisión requerida, seguido del sufijo "s".Se aceptan cualquier fracción de dígitos (también ninguno) siempre que encajen en la precisión de nanosegundos y el sufijo "s" sea requerido.El rango debe estar entre -315,576,000,000 y 315,576,000,000 segundos, incluidos.
Duraciones de ejemplo
{
"duration-9": "1.000340012s",
"duration-0": "1s"
}
bytes
Los datos de bytes se codifican como una cadena usando el código de base64 estándar con espacios.Se admiten tanto la codificación base64 estándar como segura para URL con o sin rellenos.
Ejemplos de bytes
{
"bytes": "YWJjMTIzIT8kKiYoKSctRbLx+"
}
Máscara de campo
Un FieldMask es una cadena que describe los campos para actuar cuando se realiza una solicitud.Para construir una máscara de campo, especifica nombres de campos JSON delimitados por comas en una cadena.Por ejemplo, dada la siguiente recurso:
Recurso JSON de ejemplo
{
"foo": {
"a": "c",
"b": "d"
},
"bar": "x",
"baz": "y"
}
Si quisieras especificar una máscara de campo para actualizar los valores de solo foo.b y bar, la máscara de campo se vería así: foo.b, bar
En Open Cloud, actualizar los métodos que admiten una máscara de campo tienen un parámetro llamado updateMask , donde puedes especificar una máscara de campo como valor.
Dinero
Generalmente se usa para definir un precio, el tipo Money tiene un código de moneda de tres letras (como se define en ISO 4217) y una cantidad, que usa el introducirDecimal.Por ejemplo, puedes representar un precio de $17.99 como este:
"myPrice": {
"currencyCode": "USD",
"quantity": {
"significand": 1799,
"exponent": -2
}
}
Los productos de la tienda de creadores requieren un exponent de -9, así que el mismo precio se ve así:
"myPrice": {
"currencyCode": "USD",
"quantity": {
"significand": 17990000000,
"exponent": -9
}
}
Decimal
Representa un número decimal en una forma similar a la notación científica, con cifras significativas y un exponente.
Ejemplos:
17
{"significand": 17, "exponent": 0} o simplemente {"significand": 17}
-0.005
{"significand": -5, "exponent": -3}
33.5 millones (33,500,000)
{"significand": 335, "exponent": 5}
11/8 (1.375)
{"significand": 1375, "exponent": -3}
Cuando exponent es mayor que 0, representa el número de ceros después de los dígitos significativos.Cuando exponent es menos de 0, representa cuántos de los dígitos significativos siguen al punto decimal.Cuando exponent es 0, el valor del Decimal es el valor del significand .