Właściwości type
i format
w parametrach i schematach mogą służyć do określania typu danych właściwości. Właściwość type
wskazuje typ właściwości, gdy jest ona wysyłana w żądaniach i odpowiedziach JSON (JSON obsługuje niewielki zestaw typów danych, szczegóły znajdziesz na stronie json.org). Właściwość format
zawiera dodatkowe informacje o typie bazowym. Usługi zawsze mają właściwość type
, ale niektóre mogą też mieć właściwość format
.
Na przykład 64-bitowej liczby całkowitej nie można przedstawić w formacie JSON (ponieważ JavaScript i JSON obsługują liczby całkowite do 2^53). Dlatego 64-bitowa liczba całkowita musi być reprezentowana jako ciąg znaków w żądaniach i odpowiedziach JSON. Właściwość type
zostanie ustawiona na „string”, a właściwość format
– na „int64”, aby wskazać, że jest to 64-bitowa liczba całkowita.
Specyfikacja schematu JSON definiuje już zestaw typowych wartości właściwości format
. Usługa Discovery API Google obsługuje niektóre z tych wartości i definiuje też inne. Pełną listę wartości type
i format
obsługiwanych przez usługę Discovery API Google znajdziesz poniżej.
Wpisz wartość | Format wartości | Znaczenie |
---|---|---|
any |
|
Właściwość może być dowolnego typu. Zdefiniowany przez specyfikację schematu JSON. |
any |
google.protobuf.Value |
Właściwość zawiera reprezentację JSON typu google.protobuf.Value. |
array |
|
Tablica wartości w JavaScript. Właściwość items wskazuje schemat wartości tablicy. Zdefiniowane przez specyfikację schematu JSON.
|
array |
google.protobuf.ListValue |
Właściwość ma reprezentację JSON typu google.protobuf.ListValue. |
boolean |
|
Wartość logiczna „true” lub „false”. Zdefiniowane przez specyfikację schematu JSON. |
integer |
int32 |
32-bitowa liczba całkowita ze znakiem. Minimalna wartość to -2 147 483 648, a maksymalna to 2 147 483 647 (włącznie). |
integer |
uint32 |
32-bitowa liczba całkowita bez znaku. Minimalna wartość to 0, a maksymalna to 4 294 967 295 (włącznie). |
number |
double |
Liczba zmiennoprzecinkowa podwójnej precyzji 64-bitowa zgodna ze standardem IEEE 754. |
number |
float |
Liczba zmiennoprzecinkowa pojedynczej precyzji (32-bitowa) zgodna ze standardem IEEE 754. |
object |
|
Obiekt JavaScriptu. Zdefiniowane przez specyfikację schematu JSON. |
object |
google.protobuf.Struct |
Właściwość ma reprezentację JSON typu google.protobuf.Struct. |
object |
google.protobuf.Any |
Właściwość ma reprezentację JSON typu google.protobuf.Any. |
string |
|
Dowolny ciąg znaków. Zdefiniowane przez specyfikację schematu JSON. |
string |
byte |
Dopełniony ciąg bajtów zakodowany w formacie base64, zakodowany za pomocą alfabetu bezpiecznego dla adresu URL i nazwy pliku (czasami nazywanego „bezpiecznym dla sieci” lub „base64url”). Zdefiniowany w dokumencie RFC4648. |
string |
date |
Data w formacie RFC3339, czyli RRRR-MM-DD. Zdefiniowane w specyfikacji schematu JSON. |
string |
date-time |
Znacznik czasu RFC3339 w czasie UTC. Jest to format rrrr-MM-ddTHH:mm:ss.SSSZ. Część milisekund („.SSS”) jest opcjonalna. Zdefiniowane w specyfikacji schematu JSON. |
string |
google-datetime |
Znacznik czasu RFC3339 w czasie UTC. Jest to format rrrr-MM-ddTHH:mm:ss.SSSZ. Część milisekund („.SSS”) jest opcjonalna. |
string |
google-duration |
Ciąg znaków kończy się sufiksem „s” (oznaczającym sekundy) i jest poprzedzony liczbą sekund, przy czym nanosekundy są wyrażone jako ułamkowe sekundy. Jako separatora dziesiętnego zawsze używa się kropki, a nie przecinka. |
string |
google-fieldmask |
Ciąg znaków, w którym nazwy pól są rozdzielone przecinkami. Nazwy pól są zapisywane w formacie lower-camel. |
string |
int64 |
64-bitowa liczba całkowita ze znakiem. Jej minimalna wartość to -9 223 372 036 854 775 808, a maksymalna to 9 223 372 036 854 775 807 (włącznie). |
string |
uint64 |
64-bitowa liczba całkowita bez znaku. Wartość minimalna to 0, a maksymalna to (2^64)-1 (włącznie). |