Свойства type
и format
параметров и схем можно использовать для определения типа данных свойства. Свойство type
указывает тип свойства при его отправке в JSON-запросах и ответах (JSON поддерживает небольшой набор типов данных, подробности см. на сайте json.org ). Свойство format
предоставляет дополнительную информацию о базовом типе. Свойства всегда имеют свойство type
, но некоторые могут также иметь свойство format
.
Например, 64-битное целое число не может быть представлено в формате JSON (поскольку JavaScript и JSON поддерживают целые числа до 2^53). Поэтому в запросах/ответах JSON 64-битное целое число должно быть представлено строкой. Поэтому свойство type
будет установлено на «string», а свойство format
— на «int64», что указывает на то, что это 64-битное целое число.
Спецификация JSON Schema уже определяет набор общих значений для свойства format
. Служба обнаружения API Google поддерживает некоторые из этих значений, а также определяет другие. Полный список значений type
и format
, поддерживаемых службой обнаружения API Google, представлен ниже.
Введите значение | Значение формата | Значение |
---|---|---|
any |
| Свойство может иметь любой тип. Определено спецификацией JSON Schema . |
any | google.protobuf.Value | Свойство имеет JSON-представление типа google.protobuf.Value . |
array |
| Массив значений JavaScript. Свойство items указывает схему значений массива. Определено спецификацией JSON Schema. |
array | google.protobuf.ListValue | Свойство имеет JSON-представление типа google.protobuf.ListValue . |
boolean |
| Логическое значение, «истина» или «ложь». Определено спецификацией JSON Schema. |
integer | int32 | 32-битное знаковое целое число. Минимальное значение -2 147 483 648, максимальное — 2 147 483 647 (включительно). |
integer | uint32 | 32-битное беззнаковое целое число. Минимальное значение — 0, максимальное — 4 294 967 295 (включительно). |
number | double | 64-битное число с плавающей запятой двойной точности IEEE 754. |
number | float | 32-битное число с плавающей запятой IEEE 754 одинарной точности. |
object |
| Объект JavaScript. Определен спецификацией JSON Schema. |
object | google.protobuf.Struct | Свойство имеет JSON-представление типа google.protobuf.Struct . |
object | google.protobuf.Any | Свойство имеет JSON-представление типа google.protobuf.Any . |
string |
| Произвольная строка. Определена спецификацией JSON Schema. |
string | byte | Дополненная строка байтов в кодировке Base64, закодированная с использованием безопасного алфавита URL и имён файлов (иногда называемая «web-safe» или «base64url»). Определена в RFC4648 . |
string | date | Дата RFC3339 в формате ГГГГ-ММ-ДД. Определена в спецификации JSON Schema. |
string | date-time | Временная метка RFC3339 в формате UTC. Формат: гггг-MM-ddTHH:мм:сс.SSSZ. Миллисекунды (".SSS") необязательны. Определено в спецификации JSON Schema. |
string | google-datetime | Временная метка RFC3339 в формате UTC. Формат: гггг-MM-ddTHH:мм:сс.SSSZ. Миллисекунды (".SSS") указывать необязательно. |
string | google-duration | Строка заканчивается суффиксом «s» (обозначающим секунды), которому предшествует количество секунд, при этом наносекунды выражаются в виде долей секунды. В качестве десятичной точки всегда используется точка, а не запятая. |
string | google-fieldmask | Строка, в которой имена полей разделены запятой. Имена полей представлены в формате нижнего «верблюжьего» алфавита. |
string | int64 | 64-битное знаковое целое число. Минимальное значение -9 223 372 036 854 775 808, максимальное — 9 223 372 036 854 775 807 (включительно). |
string | uint64 | 64-битное беззнаковое целое число. Минимальное значение — 0, максимальное — (2^64)-1 (включительно). |