टाइप और फ़ॉर्मैट

पैरामीटर और स्कीमा पर मौजूद type और format प्रॉपर्टी का इस्तेमाल, प्रॉपर्टी के डेटा टाइप का पता लगाने के लिए किया जा सकता है. type प्रॉपर्टी, JSON अनुरोधों और जवाबों में भेजी गई प्रॉपर्टी के टाइप के बारे में बताती है. JSON, डेटा टाइप के छोटे सेट को सपोर्ट करता है. ज़्यादा जानकारी के लिए, json.org देखें. format प्रॉपर्टी, टाइप के बारे में ज़्यादा जानकारी देती है. प्रॉपर्टी में हमेशा type प्रॉपर्टी होती है. हालांकि, कुछ प्रॉपर्टी में format प्रॉपर्टी भी हो सकती है.

उदाहरण के लिए, 64-बिट पूर्णांक को JSON में नहीं दिखाया जा सकता, क्योंकि JavaScript और JSON, 2^53 तक के पूर्णांकों के साथ काम करते हैं. इसलिए, JSON अनुरोधों/जवाबों में 64-बिट पूर्णांक को स्ट्रिंग के तौर पर दिखाया जाना चाहिए. इसलिए, type प्रॉपर्टी को "string" पर सेट किया जाएगा. हालांकि, format प्रॉपर्टी को "int64" पर सेट किया जाएगा, ताकि यह पता चल सके कि यह 64-बिट पूर्णांक है.

JSON स्कीमा स्पेसिफ़िकेशन, format प्रॉपर्टी के लिए सामान्य वैल्यू का सेट पहले से तय करता है. Google APIs Discovery Service, इनमें से कुछ वैल्यू के साथ काम करती है. साथ ही, यह अन्य वैल्यू भी तय करती है. Google APIs Discovery Service के साथ काम करने वाली type और format वैल्यू की पूरी सूची यहां दी गई है.

वैल्यू टाइप करें वैल्यू फ़ॉर्मैट करें मतलब
any प्रॉपर्टी किसी भी टाइप की हो सकती है. इसे JSON स्कीमा स्पेसिफ़िकेशन के हिसाब से तय किया जाता है.
any google.protobuf.Value इस प्रॉपर्टी में, google.protobuf.Value टाइप का JSON कोड होता है.
array वैल्यू की JavaScript अरे. items प्रॉपर्टी, ऐरे वैल्यू के स्कीमा के बारे में बताती है. इसे JSON स्कीमा स्पेसिफ़िकेशन के हिसाब से तय किया जाता है.
array google.protobuf.ListValue इस प्रॉपर्टी में, google.protobuf.ListValue टाइप का JSON कोड होता है.
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 यह डबल-प्रेसिशन 64-बिट IEEE 754 फ़्लोटिंग पॉइंट है.
number float यह सिंगल-प्रीसिज़न 32-बिट IEEE 754 फ़्लोटिंग पॉइंट है.
object यह एक JavaScript ऑब्जेक्ट है. इसे JSON स्कीमा स्पेसिफ़िकेशन के हिसाब से तय किया जाता है.
object google.protobuf.Struct इस प्रॉपर्टी में, google.protobuf.Struct टाइप का JSON कोड होता है.
object google.protobuf.Any इस प्रॉपर्टी में, google.protobuf.Any टाइप का JSON फ़ॉर्मैट होता है.
string कोई भी स्ट्रिंग. इसे JSON स्कीमा स्पेसिफ़िकेशन के हिसाब से तय किया जाता है.
string byte यह पैडिंग वाली, base64-एनकोडेड बाइट की स्ट्रिंग होती है. इसे यूआरएल और फ़ाइल के नाम के लिए सुरक्षित वर्णमाला का इस्तेमाल करके एन्कोड किया जाता है. इसे कभी-कभी "वेब-सुरक्षित" या "base64url" भी कहा जाता है. RFC4648 के मुताबिक तय किया गया है.
string date YYYY-MM-DD फ़ॉर्मैट में RFC3339 तारीख. JSON स्कीमा स्पेसिफ़िकेशन में तय किया गया है.
string date-time यूटीसी समय में आरएफ़सी3339 टाइमस्टैंप. यह yyyy-MM-ddTHH:mm:ss.SSSZ फ़ॉर्मैट में होता है. मिलीसेकंड वाला हिस्सा (".SSS") ज़रूरी नहीं है. JSON स्कीमा स्पेसिफ़िकेशन में तय किया गया है.
string google-datetime यूटीसी समय में आरएफ़सी3339 टाइमस्टैंप. यह 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 होती है.