तारीख सेव करें: BazelCon 2023, 24 से 25 अक्टूबर तक Google म्यूनिख में होगा! रजिस्ट्रेशन अब शुरू हो गया है! ज़्यादा जानें

जेएसओएन

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

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

पैसे चुकाकर बने सदस्य

डिकोड करें

unknown json.decode(x)

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

पैरामीटर

पैरामीटर जानकारी
x ज़रूरी

कोड में बदलें

string json.encode(x)

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

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

पैरामीटर

पैरामीटर जानकारी
x ज़रूरी

एन्कोड/इंडेंट

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

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

पैरामीटर

पैरामीटर जानकारी
x ज़रूरी
prefix डिफ़ॉल्ट = ''
indent डिफ़ॉल्ट = 'href'

इंडेंट

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

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

पैरामीटर

पैरामीटर जानकारी
s ज़रूरी
prefix डिफ़ॉल्ट = ''
indent डिफ़ॉल्ट = 'href'