Open Cloud mewakili permintaan dan respons sebagai JSON standar.Jenis JSON standar adalah teks, nilai, objek, array, angka, dan string.Beberapa jenis memiliki pertimbangan khusus untuk mewakili jenis data tertentu, yang dijelaskan di bagian berikut.
Stempel Waktu
Menggunakan RFC 3339, di mana output yang dihasilkan akan selalu Z-normalisasi dan menggunakan 0, 3, 6 atau 9 digit fraksional. Offset lain dari "Z" juga diterima.
Contoh Tanggal dan Waktu
{ "timestamp": "1972-01-01T10:00:20.021Z" }
Durasi
Output yang dihasilkan selalu berisi 0, 3, 6, atau 9 angka fraksional, tergantung pada ketepatan yang diperlukan, diikuti dengan sufiks "s".Diterima adalah angka fraksional (juga tidak ada) selama mereka sesuai dengan ketepatan nano-detik dan sufiks "s" diperlukan.Kisaran harus dari -315,576,000,000 hingga 315,576,000,000 detik, termasuk.
Contoh Durasi
{
"duration-9": "1.000340012s",
"duration-0": "1s"
}
Byte
Data bayt dienkode sebagai string menggunakan enkode dasar64 standar dengan padding.Entah standar atau enkode basis64 URL-aman tanpa atau dengan pengisi diperbolehkan.
Contoh Baits
{
"bytes": "YWJjMTIzIT8kKiYoKSctRbLx+"
}
Masker Lapangan
FieldMask adalah string yang menggambarkan bidang untuk bertindak saat membuat permintaan.Untuk membangun masker bidang, Anda menentukan nama bidang JSON yang dibatasi koma dalam string.Sebagai contoh, mengingat sumber berikut:
Contoh sumber JSON
{
"foo": {
"a": "c",
"b": "d"
},
"bar": "x",
"baz": "y"
}
Jika Anda ingin menentukan maska bidang untuk memperbarui nilai hanya foo.b dan bar , maska bidang akan terlihat seperti: foo.b, bar
Di Cloud Terbuka, metode pembaruan yang mendukung topeng bidang memiliki parameter bernama updateMask , di mana Anda dapat menyebutkan topeng bidang sebagai nilai.
Uang
Umumnya digunakan untuk mendefinisikan harga, tipe Money memiliki kode mata uang tiga huruf (seperti yang didefinisikan dalam ISO 4217) dan jumlah, yang menggunakan ketikDecimal.Sebagai contoh, Anda mungkin mewakili harga $17,99 seperti ini:
"myPrice": {
"currencyCode": "USD",
"quantity": {
"significand": 1799,
"exponent": -2
}
}
Produk Toko Pencipta memerlukan exponent -9, jadi harga yang sama terlihat seperti ini:
"myPrice": {
"currencyCode": "USD",
"quantity": {
"significand": 17990000000,
"exponent": -9
}
}
Desimal
Mewakili angka desimal dalam bentuk yang mirip dengan notasi ilmiah, dengan angka signifikan dan eksponen.
Contoh:
17
{"significand": 17, "exponent": 0} atau hanya {"significand": 17}
-0.005
{"significand": -5, "exponent": -3}
33,5 juta (33,500,000)
{"significand": 335, "exponent": 5}
11/8 (1.375)
{"significand": 1375, "exponent": -3}
Ketika exponent lebih besar dari 0, itu mewakili jumlah nol berikut setelah angka signifikanKetika exponent kurang dari 0, itu mewakili berapa banyak digit signifikan yang datang setelah titik desimal.Ketika exponent adalah 0, nilai dari Decimal adalah nilai dari significand .