类型和格式摘要

参数和架构中的 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,最大值为 4294967295(含)。
number double 双精度 64 位 IEEE 754 浮点。
number float 单精度 32 位 IEEE 754 浮点。
object JavaScript 对象。由 JSON 架构规范定义。
string 任意字符串。由 JSON 架构规范定义。
string byte 填充的 base64 编码字符串,使用网址和文件名安全字母表(有时称为“web-safe”或“base64url”)进行编码。由 RFC4648 定义。
string date 采用 YYYY-MM-DD 格式的 RFC3339 日期。在 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 位有符号整数。最小值为 -9223372036854775808,最大值为 9223372036854775807(含)。
string uint64 64 位无符号整数。其最小值为 0,最大值为 (2^64)-1(含)。