Open Cloud rappresenta le richieste e le risposte payload come JSON standard.I tipi JSON standard sono testo, valori, oggetti, array, numeri e stringhe.Alcuni tipi hanno considerazioni speciali per rappresentare tipi specifici di dati, che sono descritti nelle seguenti sezioni.
Timbro temporale
Usa RFC 3339, dove l'output generato sarà sempre normalizzato Z e utilizza 0, 3, 6 o 9 cifre decimali frazionarie. Vengono accettati anche gli spostamenti diversi da "Z".
Timbro 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, seguito dal suffisso "s".Sono accettati tutti i decimali frazionali (anche nessuno) a patto che si adattino alla precisione dei nano-secondi e che il suffisso "s" sia richiesto.L'intervallo deve essere da -315,576,000,000 a 315,576,000,000 secondi, inclusi.
Durazioni di esempio
{
"duration-9": "1.000340012s",
"duration-0": "1s"
}
Byte
I dati di byte sono codificati come una stringa utilizzando l' encoding base64 standard con i padding.Sono supportati sia l'encoder base64 standard che sicuro per URL con o senza spaziature.
Byte di esempio
{
"bytes": "YWJjMTIzIT8kKiYoKSctRbLx+"
}
Maska di campo
Un FieldMask è una stringa che descrive i campi su cui agire quando si effettua una Richiesta.Per costruire una maschera di campo, specifici i nomi dei campi JSON delimitati da virgola in una Stringa.Ad esempio, data la seguente risorsa:
Risorsa JSON di esempio
{
"foo": {
"a": "c",
"b": "d"
},
"bar": "x",
"baz": "y"
}
Se volevi specificare una maschera di campo per aggiornare i valori di solo foo.b e bar, la maschera di campo avrebbe l'aspetto di: 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.
Denaro
Generalmente utilizzato per definire un prezzo, il tipo Money ha un codice valutario a tre lettere (come definito in ISO 4217) e una quantità, che utilizza il inserisci / scriviDecimal.Ad esempio, potresti rappresentare un prezzo di $17.99 come questo:
"myPrice": {
"currencyCode": "USD",
"quantity": {
"significand": 1799,
"exponent": -2
}
}
I prodotti del Creator Store richiedono un exponent di -9, quindi lo stesso prezzo sembra questo:
"myPrice": {
"currencyCode": "USD",
"quantity": {
"significand": 17990000000,
"exponent": -9
}
}
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 zero in sequenza dopo i numeri significativi.Quando exponent è inferiore a 0, rappresenta quante delle cifre significative vengono dopo il punto decimale.Quando exponent è 0, il valore del Decimal è il valore del significand .