Tipo e formato

Le proprietà type e format di parametri e 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 set di tipi di dati; consulta json.org per i dettagli). 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 (dal momento che JavaScript e JSON supportano numeri interi fino a 2^53). Pertanto, un numero intero a 64 bit deve essere rappresentato come stringa nelle richieste/risposte JSON. Di conseguenza, la proprietà type sarà impostata su "string", ma la proprietà format sarà impostata su "int64" per indicare che si tratta di un numero intero a 64 bit.

La specifica dello schema JSON 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 anche altri. Di seguito è riportato un elenco completo dei valori type e format supportati da Discovery Service delle API di Google.

Immetti valore Valore formato Significato
any La proprietà può avere qualsiasi tipo. Definito in base alle specifiche dello schema JSON.
array Un array di valori JavaScript. La proprietà items indica lo schema per i valori dell'array. Definito in base alla specifica dello schema JSON.
boolean Un valore booleano, "true" o "false". Definito in base alla specifica dello schema JSON.
integer int32 Un numero intero con segno a 32 bit. Ha un valore minimo di -2.147.483.648 e un valore massimo di 2.147.483.647 (inclusi).
integer uint32 Un numero intero senza segno a 32 bit. Ha un valore minimo pari a 0 e un valore massimo pari a 4.294.967.295 (inclusi).
number double Virgola in virgola mobile IEEE 754 a 64 bit a doppia precisione.
number float Virgola mobile IEEE 754 a precisione singola a 32 bit.
object Un oggetto JavaScript. Definito in base alla specifica dello schema JSON.
string Una stringa arbitraria. Definito in base alla specifica dello schema JSON.
string byte Una stringa di byte riempita con codifica Base64, codificata con un alfabeto sicuro per l'URL e il nome file (talvolta indicata come "web-safe" o "base64url"). Definito da RFC4648.
string date Una data RFC3339 nel formato AAAA-MM-GG. Definito nella specifica dello schema JSON.
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 dello schema JSON.
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" (indica i secondi) ed è preceduta dal numero di secondi, con i nanosecondi espressi come secondi frazionari. 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 "camel minore".
string int64 Un numero intero con segno a 64 bit. Ha un valore minimo di -9.223.372.036.854.775.808 e un valore massimo di 9.223.372.036.854.775.807 (inclusi).
string uint64 Un numero intero senza segno a 64 bit. Ha un valore minimo di 0 e un valore massimo di (2^64)-1 (inclusi).