סוג ופורמט

אפשר להשתמש במאפיינים type ו-format בפרמטרים ובסכימות כדי לקבוע את סוג הנתונים של המאפיין. המאפיין type מציין את סוג המאפיין כששולחים אותו בבקשות ובתגובות בפורמט JSON (פורמט JSON תומך בקבוצה קטנה של סוגי נתונים. פרטים נוספים זמינים באתר json.org). ‫format המאפיין מספק מידע נוסף על הסוג הבסיסי. לנכסים תמיד תהיה תכונה type, אבל לחלק מהנכסים תהיה גם תכונה format.

לדוגמה, אי אפשר לייצג מספר שלם של 64 ביט ב-JSON (כי JavaScript ו-JSON תומכים במספרים שלמים עד 2^53). לכן, מספר שלם של 64 ביט חייב להיות מיוצג כמחרוזת בבקשות או בתגובות של JSON. לכן המאפיין type יוגדר כ-string, אבל המאפיין format יוגדר כ-int64 כדי לציין שמדובר במספר שלם בן 64 ביט.

במפרט של JSON Schema כבר מוגדרת קבוצה של ערכים נפוצים למאפיין format. ‫Google APIs Discovery Service תומך בחלק מהערכים האלה, ומגדיר גם ערכים אחרים. בהמשך מופיע סיכום של הרשימה המלאה של הערכים type ו-format שנתמכים על ידי Google APIs Discovery Service.

הקלדת ערך ערך הפורמט משמעות
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 נקודה צפה (floating-point) של 64 ביט IEEE 754 עם דיוק כפול.
number float מספר ממשי (float) ב-32 ביט לפי תקן IEEE 754.
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 ואלפבית בטוח לשם קובץ (לפעמים נקראת 'בטוחה לאינטרנט' או '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 מחרוזת שבה שמות השדות מופרדים בפסיק. שמות השדות מיוצגים לפי מוסכמות של שמות בפורמט Lower-Camel.
string int64 מספר שלם ב-64 סיביות עם סימן. הערך המינימלי הוא ‎-9,223,372,036,854,775,808 והערך המקסימלי הוא ‎9,223,372,036,854,775,807 (כולל).
string uint64 מספר שלם לא מסומן ב-64 ביט. הערך המינימלי הוא 0 והערך המקסימלי הוא (2^64)-1 (כולל).