ประเภทและรูปแบบ

คุณใช้พร็อพเพอร์ตี้ type และ format ในพารามิเตอร์และสคีมาเพื่อกำหนดประเภทข้อมูลของพร็อพเพอร์ตี้ได้ พร็อพเพอร์ตี้ type จะระบุประเภทของ พร็อพเพอร์ตี้เมื่อส่งในคำขอและการตอบกลับ JSON (JSON รองรับชุดข้อมูลขนาดเล็ก ดูรายละเอียดได้ที่ json.org) พร็อพเพอร์ตี้ format จะให้ข้อมูลเพิ่มเติมเกี่ยวกับประเภทพื้นฐาน พร็อพเพอร์ตี้จะมีพร็อพเพอร์ตี้ type เสมอ แต่บางพร็อพเพอร์ตี้อาจมีพร็อพเพอร์ตี้ format ด้วย

เช่น ไม่สามารถแสดงจำนวนเต็ม 64 บิตใน JSON (เนื่องจาก JavaScript และ JSON รองรับ จำนวนเต็มสูงสุด 2^53) ดังนั้นจำนวนเต็ม 64 บิตจึงต้องแสดงเป็นสตริงในคำขอ/การตอบกลับ JSON ดังนั้นพร็อพเพอร์ตี้ type จะตั้งค่าเป็น "string" แต่พร็อพเพอร์ตี้ format จะตั้งค่าเป็น "int64" เพื่อระบุว่าเป็นจำนวนเต็ม 64 บิต

ข้อกำหนดของสคีมา JSON กำหนดชุดค่าทั่วไปสำหรับพร็อพเพอร์ตี้ format ไว้แล้ว บริการค้นหา API ของ Google รองรับค่าบางค่า และกำหนดค่าอื่นๆ ด้วย รายการค่า type และ format ทั้งหมดที่บริการ Discovery ของ Google APIs รองรับมีสรุปอยู่ด้านล่าง

ประเภทค่า ค่ารูปแบบ ความหมาย
any พร็อพเพอร์ตี้อาจมีประเภทใดก็ได้ กำหนดโดยข้อกำหนดของสคีมา JSON
any google.protobuf.Value พร็อพเพอร์ตี้มีการแสดง JSON ของประเภท google.protobuf.Value
array อาร์เรย์ JavaScript ของค่า พร็อพเพอร์ตี้ items ระบุสคีมาสำหรับค่าอาร์เรย์ กำหนดโดยข้อกำหนดของสคีมา JSON
array google.protobuf.ListValue พร็อพเพอร์ตี้มีการแสดง JSON ของประเภท google.protobuf.ListValue
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 จุดลอยตัว IEEE 754 แบบ 64 บิตที่มีความแม่นยำแบบ Double
number float จุดลอยตัว IEEE 754 แบบ 32 บิตที่มีความแม่นยำเดียว
object ออบเจ็กต์ JavaScript กำหนดโดยข้อกำหนดของสคีมา JSON
object google.protobuf.Struct พร็อพเพอร์ตี้มีการแสดง JSON ของประเภท google.protobuf.Struct
object google.protobuf.Any พร็อพเพอร์ตี้มีการแสดง JSON ของประเภท google.protobuf.Any
string สตริงที่กำหนดเอง กำหนดโดยข้อกำหนดของสคีมา JSON
string byte สตริงไบต์ที่เข้ารหัส Base64 พร้อมการเพิ่มแพด โดยเข้ารหัสด้วยตัวอักษรที่ปลอดภัยสำหรับ URL และชื่อไฟล์ (บางครั้งเรียกว่า "Web-safe" หรือ "base64url") กำหนดโดย RFC4648
string date วันที่ RFC3339 ในรูปแบบ YYYY-MM-DD กำหนดไว้ในข้อกำหนดของสคีมา JSON
string date-time การประทับเวลา RFC3339 ในเวลา UTC โดยอยู่ในรูปแบบ yyyy-MM-ddTHH:mm:ss.SSSZ ส่วน มิลลิวินาที (".SSS") เป็นค่าที่ไม่บังคับ กำหนดไว้ในข้อกำหนดของสคีมา JSON
string google-datetime การประทับเวลา RFC3339 ในเวลา UTC โดยอยู่ในรูปแบบ 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 (รวม)