Le proprietà type e format per i parametri e gli schemi possono essere utilizzate per determinare il tipo di dati della proprietà. La proprietà type indica il tipo di proprietà quando viene inviata nelle richieste e nelle risposte JSON (JSON supporta un piccolo insieme di tipi di dati; per maggiori dettagli, visita il sito json.org). La proprietà format
fornisce informazioni aggiuntive sul tipo sottostante. Le proprietà avranno sempre una proprietà type, ma alcune potrebbero avere anche una proprietà format.
Ad esempio, un numero intero a 64 bit non può essere rappresentato in JSON (poiché JavaScript e JSON supportano interi fino a 2^53). Pertanto, un numero intero a 64 bit deve essere rappresentato come stringa nelle richieste/risposte JSON. Pertanto, la proprietà type verrà impostata su "stringa", ma la proprietà
format verrà impostata su "int64" per indicare che si tratta di un numero intero a 64 bit.
La specifica JSON Schema definisce già un insieme di valori comuni per la proprietà format. Il servizio di rilevamento delle API di Google supporta alcuni di questi valori e ne definisce altri. Di seguito è riportato l'elenco completo dei valori type e
format supportati dal servizio di rilevamento delle API di Google.
| Digita il valore | Formatta valore | Significato |
|---|---|---|
any |
|
La proprietà può essere di qualsiasi tipo. Definito dalla specifica JSON Schema. |
any |
google.protobuf.Value |
La proprietà ha la rappresentazione JSON del tipo google.protobuf.Value. |
array |
|
Un array JavaScript di valori. La proprietà items indica lo schema per i valori dell'array. Definito dalle specifiche JSON Schema.
|
array |
google.protobuf.ListValue |
La proprietà ha la rappresentazione JSON del tipo google.protobuf.ListValue. |
boolean |
|
Un valore booleano, "true" o "false". Definito dalle specifiche JSON Schema. |
integer |
int32 |
Un numero intero a 32 bit con segno. Ha un valore minimo di -2.147.483.648 e un valore massimo di 2.147.483.647 (incluso). |
integer |
uint32 |
Un numero intero non firmato a 32 bit. Ha un valore minimo di 0 e un valore massimo di 4.294.967.295 (inclusi). |
number |
double |
Un numero a virgola mobile IEEE 754 a 64 bit a precisione doppia. |
number |
float |
Un numero in virgola mobile IEEE 754 a precisione singola a 32 bit. |
object |
|
Un oggetto JavaScript. Definito dalle specifiche JSON Schema. |
object |
google.protobuf.Struct |
La proprietà ha la rappresentazione JSON del tipo google.protobuf.Struct. |
object |
google.protobuf.Any |
La proprietà ha la rappresentazione JSON del tipo google.protobuf.Any. |
string |
|
Una stringa arbitraria. Definito dalle specifiche JSON Schema. |
string |
byte |
Una stringa di byte con padding e codifica base64, codificata con un alfabeto sicuro per URL e nomi file (a volte indicato come "sicuro per il web" o "base64url"). Definito dal documento RFC4648. |
string |
date |
Una data RFC3339 nel formato AAAA-MM-GG. Definito nella specifica JSON Schema. |
string |
date-time |
Un timestamp RFC3339 nel fuso orario UTC. Nel formato aaaa-MM-ggThh:mm:ss.SSSZ. La parte in millisecondi (".SSS") è facoltativa. Definito nella specifica JSON Schema. |
string |
google-datetime |
Un timestamp RFC3339 nel fuso orario UTC. Nel formato aaaa-MM-ggThh:mm:ss.SSSZ. La parte in millisecondi (".SSS") è facoltativa. |
string |
google-duration |
Una stringa termina con il suffisso "s" (che indica i secondi) ed è preceduta dal numero di secondi, con i nanosecondi espressi come frazioni di secondo. Il punto viene sempre utilizzato come punto decimale, non come virgola. |
string |
google-fieldmask |
Una stringa in cui i nomi dei campi sono separati da una virgola. I nomi dei campi sono rappresentati in convenzioni di denominazione in minuscolo con lettere maiuscole iniziali. |
string |
int64 |
Un numero intero a 64 bit con segno. Ha un valore minimo di -9.223.372.036.854.775.808 e un valore massimo di 9.223.372.036.854.775.807 (incluso). |
string |
uint64 |
Un numero intero senza segno a 64 bit. Ha un valore minimo di 0 e un valore massimo di (2^64)-1 (incluso). |