JSON

अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है किसी समस्या की शिकायत करें सोर्स देखें रात · 7.3 · 7.2 · 7.1 · 7.0 · 6.5

अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है मॉड्यूल 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 string; ज़रूरी है
डिकोड करने के लिए JSON स्ट्रिंग.
default डिफ़ॉल्ट रूप से unbound
है अगर बताया गया है, तो x को डिकोड नहीं किया जा सकता.

कोड में बदलें

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 string; डिफ़ॉल्ट रूप से ''
है
indent string; डिफ़ॉल्ट रूप से '\t'
है

इंडेंट

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

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

पैरामीटर

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