Typ i format

Właściwości typeformat 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 typeformat 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).