Tipo e formato

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).