Open Cloud representa las cargas de solicitud y respuesta como JSON estándar. Los tipos JSON estándar son texto, valores, objetos, matrices, números y cadenas. Algunos tipos tienen consideraciones especiales para representar tipos específicos de datos, que se describen en las siguientes secciones.
Marca de tiempo
Usa RFC 3339, donde la salida generada siempre será Z-normalizada y usa 0, 3, 6 o 9 dígitos fraccionales. También se aceptan compensaciones que no sean "Z."
Ejemplo de marca de tiempo
{ "timestamp": "1972-01-01T10:00:20.021Z" }
Duración
La salida generada siempre contiene 0, 3, 6 o 9 dígitos fraccionales, dependiendo de la precisión requerida, seguidos del sufijo "s." Se aceptan todos los dígitos fraccionales (también ninguno) siempre que se ajusten a la precisión de nanosegundos y se requiera el sufijo "s." El rango debe ser de -315,576,000,000 a 315,576,000,000 segundos, inclusive.
Ejemplo de duraciones
{
"duration-9": "1.000340012s",
"duration-0": "1s"
}
Bytes
Los datos de bytes se codifican como una cadena usando la codificación base64 estándar con rellenos. Se admite la codificación base64 estándar o segura para URL con o sin rellenos.
Ejemplo de bytes
{
"bytes": "YWJjMTIzIT8kKiYoKSctRbLx+"
}
Máscara de Campo
Una FieldMask es una cadena que describe los campos en los que actuar al realizar una solicitud. Para construir una máscara de campo, especifique los nombres de los campos JSON delimitados por comas en una cadena. Por ejemplo, dado el siguiente recurso:
Ejemplo de recurso JSON
{
"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, los métodos de actualización que admiten una máscara de campo tienen un parámetro llamado updateMask , donde puede especificar una máscara de campo como valor.
Dinero
Generalmente utilizado 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 utiliza el introducirDecimal. Por ejemplo, un producto de Creator Store de $17.99 se ve así:
"myPrice": {
"currencyCode": "USD",
"quantity": {
"significand": 1799,
"exponent": -2
}
}
Decimal
Representa un número decimal en una forma similar a la notación científica, con dígitos significativos y un exponente.
Ejemplos:
17 años
{"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 tras los dígitos significativos. Cuando exponent es inferior a 0, representa cuántos de los dígitos significativos vienen después del punto decimal. Cuando exponent es 0, el valor de Decimal es el valor de significand .