类型和格式

参数和架构的 typeformat 属性可用于确定属性的数据类型。type 属性在 JSON 请求和响应中指明属性的类型(JSON 支持一小组数据类型;如需了解详情,请参阅 json.org)。format 属性提供有关基础类型的其他信息。属性始终具有 type 属性,但有些属性可能还具有 format 属性。

例如,64 位整数无法用 JSON 表示(因为 JavaScript 和 JSON 支持最大为 2^53 的整数)。因此,64 位整数必须在 JSON 请求/响应中以字符串表示。因此,type 属性将设置为“string”,但 format 属性将设置为“int64”,以指示它是一个 64 位整数。

JSON 架构规范已经为 format 属性定义了一组常用值。Google API Discovery Service 支持其中一些值,并且还定义了其他值。下面总结了 Google API Discovery Service 支持的 typeformat 值的完整列表。

类型值 格式值 含义
any 该属性可以是任何类型。由 JSON 架构规范定义。
array 一个 JavaScript 值数组。items 属性指示数组值的架构。由 JSON 架构规范定义。
boolean 布尔值,可以是“true”或“false”。由 JSON 架构规范定义。
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 架构规范定义。
string 任意字符串。由 JSON 架构规范定义。
string byte 填充的 base64 编码字节字符串,使用网址和文件名安全字母表(有时称为“网络安全”或“base64url”)进行编码。由 RFC4648 定义。
string date RFC3339 日期,格式为 YYYY-MM-DD。在 JSON 架构规范中定义。
string date-time 世界协调时间 (UTC) 中的 RFC3339 时间戳。格式为 yyyy-MM-ddTHH:mm:ss.SSSZ。毫秒部分(“.SSS”)是可选的。在 JSON 架构规范中定义。
string google-datetime 世界协调时间 (UTC) 中的 RFC3339 时间戳。格式为 yyyy-MM-ddTHH:mm:ss.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(含)。