يمكن استخدام السمتَين 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 Schema. |
any |
google.protobuf.Value |
يحتوي الموقع على تمثيل JSON لنوع google.protobuf.Value. |
array |
|
مصفوفة JavaScript للقيم تشير السمة items إلى المخطط الخاص بقيم المصفوفة. محدَّد بمواصفات JSON Schema.
|
array |
google.protobuf.ListValue |
تحتوي السمة على تمثيل JSON لنوع google.protobuf.ListValue. |
boolean |
|
قيمة منطقية، إما "true" أو "false". محدَّد بمواصفات JSON Schema. |
integer |
int32 |
عدد صحيح 32 بت تتراوح قيمته بين -2,147,483,648 و2,147,483,647 (بما في ذلك هذان الرقمان). |
integer |
uint32 |
عدد صحيح غير سالب 32 بت وتبلغ القيمة الدنيا 0 والقيمة القصوى 4,294,967,295 (بما في ذلك). |
number |
double |
عدد عشري ذو دقة مضاعفة 64 بت وفقًا لمعيار IEEE 754 |
number |
float |
عدد نقطة عائمة IEEE 754 بسرعة 32 بت وبدقة أحادية |
object |
|
كائن JavaScript محدَّد بمواصفات JSON Schema. |
object |
google.protobuf.Struct |
تحتوي السمة على تمثيل JSON لنوع google.protobuf.Struct. |
object |
google.protobuf.Any |
تحتوي السمة على تمثيل JSON لنوع google.protobuf.Any. |
string |
|
سلسلة عشوائية محدَّد بمواصفات JSON Schema. |
string |
byte |
سلسلة بايتات مضافة ومشفّرة بترميز base64، ومشفّرة باستخدام أبجدية آمنة لعنوان URL واسم ملف (يُشار إليها أحيانًا باسم "آمنة على الويب" أو "base64url"). محدّد حسب RFC4648 |
string |
date |
تاريخ RFC3339 بالتنسيق YYYY-MM-DD يتم تحديدها في مواصفات JSON Schema. |
string |
date-time |
طابع زمني بتنسيق RFC3339 بالتوقيت العالمي المتفق عليه يجب أن يكون هذا التنسيق yyyy-MM-ddTHH:mm:ss.SSSZ. جزء الملّي ثانية (".SSS") اختياري. يتم تحديدها في مواصفات JSON Schema. |
string |
google-datetime |
طابع زمني بتنسيق RFC3339 بالتوقيت العالمي المتفق عليه يجب أن يكون هذا التنسيق 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 (شاملة). |