Tür ve biçim

Parametreler ve şemalardaki type ve format özellikleri, özelliğin veri türünü belirlemek için kullanılabilir. type özelliği, JSON isteklerinde ve yanıtlarında gönderildiğinde özelliğin türünü gösterir (JSON, küçük bir veri türü grubunu destekler. Ayrıntılar için json.org adresine bakın). format özelliği, temel tür hakkında ek bilgiler sağlar. Mülklerde her zaman type özelliği bulunur ancak bazılarında format özelliği de olabilir.

Örneğin, 64 bitlik bir tam sayı JSON'da temsil edilemez (çünkü JavaScript ve JSON, 2^53'e kadar olan tam sayıları destekler). Bu nedenle, 64 bitlik bir tam sayı, JSON isteklerinde/yanıtlarında dize olarak gösterilmelidir. Bu nedenle, type özelliği "string" olarak ayarlanır ancak format özelliği, 64 bitlik bir tam sayı olduğunu belirtmek için "int64" olarak ayarlanır.

JSON şeması spesifikasyonu, format özelliği için bir dizi ortak değer tanımlar. Google API'leri Keşif Hizmeti bu değerlerden bazılarını destekler ve diğerlerini de tanımlar. Google API'leri Discovery Hizmeti tarafından desteklenen type ve format değerlerinin tam listesi aşağıda özetlenmiştir.

Değer türü Değer biçimi Anlamı
any Özellik herhangi bir türde olabilir. JSON Şema spesifikasyonu ile tanımlanır.
any google.protobuf.Value Özellik, google.protobuf.Value türünün JSON gösterimine sahiptir.
array Değerlerin yer aldığı bir JavaScript dizisi. items özelliği, dizi değerlerinin şemasını gösterir. JSON şeması spesifikasyonuyla tanımlanır.
array google.protobuf.ListValue Özellik, google.protobuf.ListValue türünün JSON gösterimine sahiptir.
boolean "true" veya "false" Boole değeri. JSON şeması spesifikasyonuyla tanımlanır.
integer int32 32 bitlik imzalı bir tam sayı. En düşük değeri -2.147.483.648, en yüksek değeri ise 2.147.483.647'dir (her ikisi de dahil).
integer uint32 32 bitlik işaretsiz bir tam sayı. Minimum değeri 0, maksimum değeri ise 4.294.967.295'tir (bu değerler dahil).
number double Çift duyarlıklı 64 bit IEEE 754 kayan nokta.
number float Tek duyarlıklı 32 bit IEEE 754 kayan nokta.
object Bir JavaScript nesnesi. JSON şeması spesifikasyonuyla tanımlanır.
object google.protobuf.Struct Mülk, google.protobuf.Struct türünün JSON gösterimine sahiptir.
object google.protobuf.Any Özellik, google.protobuf.Any türünün JSON gösterimine sahiptir.
string Rastgele bir dize. JSON şeması spesifikasyonuyla tanımlanır.
string byte URL ve dosya adı için güvenli bir alfabe ile kodlanmış, doldurulmuş, Base64 kodlu bir bayt dizesi ("web güvenli" veya "base64url" olarak da adlandırılır). RFC4648 ile tanımlanır.
string date YYYY-AA-GG biçiminde bir RFC3339 tarihi. JSON şeması spesifikasyonunda tanımlanır.
string date-time UTC saat diliminde bir RFC3339 zaman damgası. Bu, yyyy-AA-ggTHH:mm:ss.SSSZ biçimindedir. Milisaniye kısmı (".SSS") isteğe bağlıdır. JSON şeması spesifikasyonunda tanımlanır.
string google-datetime UTC saat diliminde bir RFC3339 zaman damgası. Bu, yyyy-AA-ggTHH:mm:ss.SSSZ biçimindedir. Milisaniye kısmı (".SSS") isteğe bağlıdır.
string google-duration Dizeler, "s" sonekiyle (saniyeyi belirtir) biter ve saniye sayısı ile başlar. Nanosaniyeler, kesirli saniye olarak ifade edilir. Ondalık ayırıcı olarak her zaman nokta kullanılır, virgül kullanılmaz.
string google-fieldmask Alan adlarının virgülle ayrıldığı bir dize. Alan adları, küçük harfli camel case adlandırma kurallarıyla gösterilir.
string int64 64 bit olarak imzalanmış bir tam sayı. Minimum değeri -9.223.372.036.854.775.808 ve maksimum değeri 9.223.372.036.854.775.807'dir (dahil).
string uint64 64 bitlik işaretsiz tam sayı. Minimum değeri 0, maksimum değeri ise (2^64)-1'dir (bu değerler dahil).