Open Cloud representa solicitações e cargas de resposta como JSON padrão . Os tipos JSON padrão são texto, valores, objetos, matrizes, números e cadeias de caracteres. Alguns tipos têm considerações especiais para representar tipos específicos de dados, que são descritos nas seções a seguir.
Selo de Tempo
Usa RFC 3339, onde a saída gerada sempre será Z-normalizada e usa 0, 3, 6 ou 9 dígitos fracionários. Offsets diferentes de "Z" também são aceitos.
Exemplo de carimbo de tempo
{ "timestamp": "1972-01-01T10:00:20.021Z" }
Duração
A saída gerada sempre contém 0, 3, 6 ou 9 dígitos fracionários, dependendo da precisão necessária, seguidos pelo sufixo "s." Quaisquer dígitos fracionários (também nenhum) são aceitos, desde que se encaixem na precisão de nanossegundos e o sufixo "s" seja necessário. O intervalo deve ser de -315,576,000,000 a 315,576,000,000 segundos, inclusive.
Duração de Exemplo
{
"duration-9": "1.000340012s",
"duration-0": "1s"
}
Bytes
Os dados de bytes são codificados como uma string usando a codificação base64 padrão com almofadas. Codificação base64 padrão ou segura para URL com ou sem almofadas é suportada.
Exemplo de bytes
{
"bytes": "YWJjMTIzIT8kKiYoKSctRbLx+"
}
Máscara de Campo
Um FieldMask é uma string que descreve os campos a serem usados ao fazer uma solicitar / pedir. Para construir uma fieldmask, especifique os nomes dos campos JSON delimitados por vírgula em uma string / cadeia / texto. Por exemplo, dado o seguinte recurso:
Exemplo de recurso JSON
{
"foo": {
"a": "c",
"b": "d"
},
"bar": "x",
"baz": "y"
}
Se você quisesse especificar uma máscara de campo para atualizar os valores apenas de foo.b e bar, a máscara de campo ficaria assim: foo.b, bar
No Open Cloud, os métodos de atualização que suportam uma máscara de campo têm um parâmetro chamado updateMask , onde você pode especificar uma máscara de campo como um valor.
Dinheiro
Geralmente usado para definir um preço, o tipo Money tem um código de moeda de três letras (como definido na ISO 4217) e uma quantidade, que usa o digitarDecimal. Por exemplo, um produto da Loja do Criador de $ 17,99 se parece com isso:
"myPrice": {
"currencyCode": "USD",
"quantity": {
"significand": 1799,
"exponent": -2
}
}
Decimal
Representa um número decimal em uma forma semelhante à notação científica, com dígitos significativos e um exponente.
Exemplos:
17 vezes
{"significand": 17, "exponent": 0} ou apenas {"significand": 17}
-0,005
{"significand": -5, "exponent": -3}
33,5 milhões (33,500,000)
{"significand": 335, "exponent": 5}
11/8 (1.375)
{"significand": 1375, "exponent": -3}
Quando exponent é maior que 0, representa o número de zeros após os dígitos significativos. Quando exponent é inferior a 0, representa quantos dos dígitos significativos vêm após o ponto decimal. Quando exponent é 0, o valor do Decimal é o valor do significand .