Typ und Format

Mit den Attributen type und format für Parameter und Schemas kann der Datentyp des Attributs bestimmt werden. Das Attribut type gibt den Typ des Attributs an, wenn es in JSON-Anfragen und -Antworten gesendet wird. JSON unterstützt eine kleine Anzahl von Datentypen, siehe json.org. “ Das Attribut format stellt zusätzliche Informationen zum zugrunde liegenden Typ bereit. Attribute haben immer ein type-Attribut, einige haben aber möglicherweise auch ein format-Attribut.

Eine 64-Bit-Ganzzahl kann beispielsweise nicht in JSON dargestellt werden, da JavaScript und JSON Ganzzahlen bis 2^53 unterstützen. Daher muss eine 64-Bit-Ganzzahl als String in JSON-Anfragen/-Antworten dargestellt werden. Das Attribut type wird also auf "string" gesetzt, das Attribut format wird jedoch auf "int64" gesetzt, um anzugeben, dass es sich um eine 64-Bit-Ganzzahl handelt.

Die JSON-Schemaspezifikation definiert bereits eine Reihe von gängigen Werten für das Attribut format. Der Google APIs Discovery Service unterstützt einige dieser Werte und definiert auch andere. Die vollständige Liste der type- und format-Werte, die vom Google APIs Discovery Service unterstützt werden, finden Sie weiter unten.

Typwert Formatwert Bedeutung
any Das Attribut kann einen beliebigen Typ haben. Definiert durch die JSON-Schemaspezifikation.
array Ein JavaScript-Array von Werten. Das Attribut items gibt das Schema für die Arraywerte an. Definiert durch die JSON-Schemaspezifikation.
boolean Ein boolescher Wert, entweder "true" oder "false" Definiert durch die JSON-Schemaspezifikation.
integer int32 Eine vorzeichenbehaftete 32-Bit-Ganzzahl. Sie hat einen Mindestwert von -2,147,483,648 und einen Höchstwert von 2,147,483,647 (einschließlich).
integer uint32 Eine vorzeichenlose 32-Bit-Ganzzahl. Sie hat einen Mindestwert von 0 und einen Höchstwert von 4,294,967,295 (einschließlich).
number double Eine 64-Bit-IEEE 754-Gleitkommazahl mit doppelter Genauigkeit.
number float Eine 32-Bit-IEEE 754-Gleitkommazahl mit einfacher Genauigkeit.
object Ein JavaScript-Objekt. Definiert durch die JSON-Schemaspezifikation.
string Ein beliebiger String. Definiert durch die JSON-Schemaspezifikation.
string byte Ein aufgefüllter base64-codierter String aus Byte, der mit einem URL-sicheren und Dateinamen-sicheren Alphabet (auch als "web-safe" oder "base64url" bezeichnet) codiert ist. Definiert durch RFC4648.
string date Ein RFC3339-Datum im Format JJJJ-MM-TT. Wird in der JSON-Schemaspezifikation definiert.
string date-time Ein RFC3339-Zeitstempel in UTC-Zeit. Im Format JJJJ-MM-TTTHH:mm:ss.SSSZ. Der Millisekundenteil (".SSS") ist optional. Wird in der JSON-Schemaspezifikation definiert.
string google-datetime Ein RFC3339-Zeitstempel in UTC-Zeit. Im Format JJJJ-MM-TTTHH:mm:ss.SSSZ. Der Millisekundenteil (".SSS") ist optional.
string google-duration Ein String endet mit dem Suffix "s" (in Sekunden), wobei die Anzahl von Sekunden vorangestellt wird. Dabei werden die Nanosekunden als Sekundenbruchteile angegeben. Der Punkt wird immer als Dezimalzeichen verwendet, kein Komma.
string google-fieldmask Ein String, bei dem Feldnamen durch ein Komma getrennt sind. Feldnamen werden in Namenskonventionen mit kleingeschriebener Camel-Case-Schreibweise dargestellt.
string int64 Eine vorzeichenbehaftete 64-Bit-Ganzzahl. Sie hat einen Mindestwert von -9.223.372.036.854.775.808 und einen Höchstwert von 9.223.372.036.854.775.807 (einschließlich).
string uint64 Eine vorzeichenlose 64-Bit-Ganzzahl. Sie hat einen Mindestwert von 0 und einen Höchstwert von (2^64)-1 (einschließlich).