JSON

समस्या की शिकायत करें सोर्स देखें

मॉड्यूल json, JSON से जुड़े फ़ंक्शन का एक Starlark मॉड्यूल है.

पैसे चुकाकर बने सदस्यों के लिए

डिकोड करें

unknown json.decode(x, default=unbound)

डिकोड करने वाले फ़ंक्शन में एक ज़रूरी पोज़िशनल पैरामीटर होता है: JSON स्ट्रिंग. यह Starlark की उस वैल्यू को दिखाता है जिसे स्ट्रिंग दिखाता है.
  • "null", "true", और "false" को None, True, और False के तौर पर पार्स किया गया है.
  • अगर संख्याओं में दशमलव बिंदु या घातांक है, तो संख्याओं को पूर्णांक या फ़्लोट के रूप में पार्स किया जाता है. हालांकि, JSON में नॉन-फ़ाइनाइट वैल्यू के लिए कोई सिंटैक्स नहीं है, लेकिन बहुत बड़ी वैल्यू को इनफ़िनिटी के तौर पर डिकोड किया जा सकता है.
  • JSON ऑब्जेक्ट को नए बिना फ़्रीज़ किए गए Starlark निर्देश के तौर पर पार्स किया गया है. अगर ऑब्जेक्ट में एक ही कुंजी स्ट्रिंग एक से ज़्यादा बार आती है, तो कुंजी की आखिरी वैल्यू को सेव रखा जाता है.
  • JSON कलेक्शन को ऐसी नई Starlark सूची के तौर पर पार्स किया गया है जिसे फ़्रीज़ नहीं किया गया है.
अगर x, JSON कोड में बदलने का मान्य तरीका नहीं है और default पैरामीटर (None के तौर पर भी बताया गया है) भी दिया गया है, तो यह फ़ंक्शन default वैल्यू दिखाता है. अगर x, JSON को कोड में बदलने का मान्य तरीका नहीं है और वैकल्पिक default पैरामीटर की जानकारी नहीं दी गई है, तो यह फ़ंक्शन काम नहीं करता.

पैरामीटर

पैरामीटर कंपनी का ब्यौरा
x डिकोड करने के लिए, JSON स्ट्रिंग
ज़रूरी है.
default unbound डिफ़ॉल्ट है
अगर तय किया गया हो, तो x को डिकोड नहीं किया जा सकता.

encode

string json.encode(x)

एन्कोड फ़ंक्शन एक ज़रूरी पोज़िशनल आर्ग्युमेंट को स्वीकार करता है, जिसे केस के हिसाब से, JSON में बदला जाता है:

  • कोई नहीं, सही, और गलत को क्रम से 'शून्य', 'सही', और 'गलत' में बदला जाता है.
  • पूर्णांक को दशमलव पूर्णांक के तौर पर एन्कोड किया जाता है. इससे कोई फ़र्क़ नहीं पड़ता कि पूर्णांक कितना बड़ा है. ऐसा हो सकता है कि कुछ डिकोडर, बहुत बड़े पूर्णांकों को डिकोड न कर पाएं.
  • फ़्लोट को दशमलव बिंदु या घातांक या दोनों का इस्तेमाल करके कोड में बदला जाता है. भले ही, संख्या वाली वैल्यू एक पूर्णांक हो. नॉन-फ़ाइनाइट फ़्लोटिंग-पॉइंट वैल्यू को कोड में बदलने में गड़बड़ी हुई.
  • स्ट्रिंग की वैल्यू को JSON स्ट्रिंग की लिटरल वैल्यू के तौर पर एन्कोड किया जाता है. यह वैल्यू दिखाता है. जुड़े हुए हर सरोगेट को U+FFFD से बदल दिया जाता है.
  • डिक्शनरी को कुंजी के क्रम में, JSON ऑब्जेक्ट के तौर पर कोड में बदला जाता है. अगर कोई कुंजी कोई स्ट्रिंग नहीं है, तो यह एक गड़बड़ी है.
  • सूची या टपल को JSON अरे के तौर पर एन्कोड किया जाता है.
  • स्ट्रक्चर जैसी वैल्यू को फ़ील्ड के नाम के क्रम में, JSON ऑब्जेक्ट के तौर पर एन्कोड किया जाता है.
ऐप्लिकेशन के मुताबिक तय किया गया कोई टाइप, अपनी JSON एन्कोडिंग को परिभाषित कर सकता है. किसी अन्य वैल्यू को कोड में बदलने में गड़बड़ी होती है.

पैरामीटर

पैरामीटर कंपनी का ब्यौरा
x ज़रूरी है

encode_indent

string json.encode_indent(x, *, prefix='', indent='\t')

encode_indent फ़ंक्शन json.indent(json.encode(x), ...) के बराबर है. फ़ॉर्मैटिंग पैरामीटर की जानकारी के लिए, indent पर जाएं.

पैरामीटर

पैरामीटर कंपनी का ब्यौरा
x ज़रूरी है
prefix डिफ़ॉल्ट रूप से ''
है
indent डिफ़ॉल्ट रूप से '\t'
है

इंडेंट

string json.indent(s, *, prefix='', indent='\t')

इंडेंट फ़ंक्शन, JSON कोड में बदली गई मान्य स्ट्रिंग का इंडेंट किया गया फ़ॉर्म दिखाता है. हर अरे एलिमेंट या ऑब्जेक्ट फ़ील्ड एक नई लाइन पर दिखता है. इसकी शुरुआत प्रीफ़िक्स स्ट्रिंग से होती है. इसके बाद, इंडेंट स्ट्रिंग की एक या उससे ज़्यादा कॉपी, नेस्ट की गई डेप्थ के हिसाब से दिखती हैं. इस फ़ंक्शन में एक ज़रूरी पोज़िशनल पैरामीटर, JSON स्ट्रिंग, और सिर्फ़ कीवर्ड वाले दो वैकल्पिक स्ट्रिंग पैरामीटर, प्रीफ़िक्स, और इंडेंट को स्वीकार किया जाता है. इन पैरामीटर से हर नई लाइन का प्रीफ़िक्स और इंडेंट की इकाई तय होती है. अगर इनपुट मान्य नहीं है, तो हो सकता है कि फ़ंक्शन काम न करे या अमान्य आउटपुट दिखाए.

पैरामीटर

पैरामीटर कंपनी का ब्यौरा
s ज़रूरी है
prefix डिफ़ॉल्ट रूप से ''
है
indent डिफ़ॉल्ट रूप से '\t'
है