Open Cloud rappresenta richieste e risposte come JSON standard . I tipi JSON standard sono testo, valori, oggetti, mappe, numeri e stringhe. Alcuni tipi hanno considerazioni speciali per rappresentare tipi specifici di dati, che sono descritti nelle seguenti sezioni.
Timbro
Usa RFC 3339, in cui l'uscita generata sarà sempre Z-normalizzata e utilizza 0, 3, 6 o 9 cifre decimali. Gli script non "Z" sono anche accettati.
Timestamp di esempio
{ "timestamp": "1972-01-01T10:00:20.021Z" }
Durata
L'output generato contiene sempre 0, 3, 6 o 9 cifre decimali, a seconda della precisione richiesta, seguiti dal suffisso "s". Accettati tutti i cifri decimali (anche se nessuno) fintanto che non entrano in nano-secondi precision e il suffisso "s" è richiesto. La gamma deve essere da -315,576,000,000 a 315,576,0
Esempi di durate
{
"duration-9": "1.000340012s",
"duration-0": "1s"
}
Byte
I dati Byte vengono codificati come una stringa utilizzando l'encodifica base64 standard con spaziatura. Sono supportati sia l'encodifica base64 standard con o senza spaziatura.
Esempio Bytes
{
"bytes": "YWJjMTIzIT8kKiYoKSctRbLx+"
}
Maschera di campo
Un FieldMask è una stringa che descrive i campi su cui agire quando si fa una Richiesta. Per costruire una maschera di campo, specifici i nomi dei campi JSON a virgola in una Stringa. Ad esempio, considerando la seguente risorsa:
Risorsa JSON di esempio
{
"foo": {
"a": "c",
"b": "d"
},
"bar": "x",
"baz": "y"
}
Se volete specificare una maschera di campo per aggiornare i valori di solo foo.b e bar, la maschera di campo avrebbe l'aspetto seguente: foo.b, bar
In Open Cloud, aggiorna i metodi che supportano una maschera di campo hanno un parametro chiamato updateMask , dove puoi specificare una maschera di campo come valore.
Soldi
Generalmente usato per definire un prezzo, il tipo Money ha un codice di valuta a tre lettere (come definito in ISO 4217) e una quantità, che usa il inserisci / scriviDecimal. Ad esempio, un prodotto 17.99 Creator Store sembra così:
"myPrice": {
"currencyCode": "USD",
"quantity": {
"significand": 1799,
"exponent": -2
}
}
Decimale
Rappresenta un numero decimale in una forma simile alla notazione scientifica, con cifre significative e un esponente.
Esempi:
17
{"significand": 17, "exponent": 0} o semplicemente {"significand": 17}
0.005
{"significand": -5, "exponent": -3}
33,5 milioni (33,500,000)
{"significand": 335, "exponent": 5}
11/8 (1.375)
{"significand": 1375, "exponent": -3}
Quando exponent è maggiore di 0, rappresenta il numero di zeri dopo i significativi cifri. Quando exponent è inferiore a 0, rappresenta il numero di cifri significativi che vengono dopo il punto virgolaso. Quando exponent è 0, il valore del 1> Dec