คุณใช้พร็อพเพอร์ตี้ 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 (รวม) |