開啟雲端代表請求和回應載具為 標準 JSON 。標準 JSON 類型是文字、值、對象、數組、數字和字串。某些類型有特殊考慮來代表特定類型的資料,這些資料在下一節中被描述。
時戳
使用 RFC 3339,其生成的輸出總是會被 Z 正常化,並使用 0、3、6 或 9 個小數位。「Z」以外的偏移也被接受。
範例時戳
{ "timestamp": "1972-01-01T10:00:20.021Z" }
時間長度
生成的輸出總是包含 0、3、6 或 9 個小數位,取決於所需精度,然後加上「s」後綴。接受的是任何分數數字(也沒有),只要它們能夠進入納秒精度並且需要 suffix "s" 即可。範圍必須從 -315,576,000,000 秒到 315,576,000,000 秒,包括在內。
範例持續時間
{
"duration-9": "1.000340012s",
"duration-0": "1s"
}
位元
字元數據以標準的 base64 編碼與 padding 進行編碼,轉換為字串。支持標準或使用或不使用墊子的 URL 安全 base64 編碼。
範例位元
{
"bytes": "YWJjMTIzIT8kKiYoKSctRbLx+"
}
字段面具
一個字段面具是一個描述要邀請時需要操作的字段的字串。要構建字段面罩,您在字串中指定分開的 JSON 字段名稱。例如,給予以下資源:
範例 JSON 資源
{
"foo": {
"a": "c",
"b": "d"
},
"bar": "x",
"baz": "y"
}
如果您想指定一個字段面具來更新只有 foo.b 和 bar 的值,字段面具將看起來像: foo.b, bar
在開放雲端中,支持欄位面具的更新方法具有名為 updateMask 的參數,您可以在此指定欄位面具作為值。
金錢
一般用於定義價格, Money 類型具有三位數字貨幣代碼(如ISO 4217所定義)和一個數量,使用 Decimal 輸入。例如,您可以像這樣代表 $17.99 價格:
"myPrice": {
"currencyCode": "USD",
"quantity": {
"significand": 1799,
"exponent": -2
}
}
創作者商店產品需要 -9 exponent 的 -9,因此價格相同看起來像這樣:
"myPrice": {
"currencyCode": "USD",
"quantity": {
"significand": 17990000000,
"exponent": -9
}
}
十進位
以類似科學記號的形式代表十進位數字,包括重要數字和指數。
例子:
17
{"significand": 17, "exponent": 0} 或只是 {"significand": 17}
-0.005
{"significand": -5, "exponent": -3}
3350 萬(33,500,000)
{"significand": 335, "exponent": 5}
11/8 (1.375)
{"significand": 1375, "exponent": -3}
當 exponent 大於 0 時,它代表重要數字後的零數量。當 exponent 小於 0 時,代表有多少重要數字在十進位點後面。當 exponent 為 0 時,Decimal 的值是 significand 的值。