json मॉड्यूल, JSON से जुड़े फ़ंक्शन का Starlark मॉड्यूल है.
सदस्य
डिकोड करें
unknown json.decode(x, default=unbound)
"null"
,"true"
, और"false"
कोNone
,True
, औरFalse
के तौर पर पार्स किया जाता है.- संख्याओं को int के तौर पर पार्स किया जाता है. अगर उनमें दशमलव बिंदु या एक्स्पोनेंट होता है, तो उन्हें फ़्लोट के तौर पर पार्स किया जाता है. हालांकि, JSON में नॉन-फ़ाइनिट वैल्यू के लिए कोई सिंटैक्स नहीं होता, लेकिन बहुत बड़ी वैल्यू को इनफ़िनिटी के तौर पर डिकोड किया जा सकता है.
- JSON ऑब्जेक्ट को नए अनफ़्रीज़ किए गए Starlark dict के तौर पर पार्स किया जाता है. अगर ऑब्जेक्ट में एक ही कुंजी स्ट्रिंग एक से ज़्यादा बार मौजूद है, तो कुंजी के लिए आखिरी वैल्यू को सेव किया जाता है.
- JSON ऐरे को नई अनफ़्रीज़ की गई Starlark सूची के तौर पर पार्स किया जाता है.
x
एक मान्य JSON एन्कोडिंग नहीं है और default
पैरामीटर को None
के तौर पर तय किया गया है, तो यह फ़ंक्शन default
वैल्यू दिखाता है.
अगर x
मान्य JSON एन्कोडिंग नहीं है और वैकल्पिक default
पैरामीटर के बारे में नहीं बताया गया है, तो यह फ़ंक्शन काम नहीं करता.
पैरामीटर
पैरामीटर | ब्यौरा |
---|---|
x
|
ज़रूरी है डिकोड करने के लिए JSON स्ट्रिंग. |
default
|
डिफ़ॉल्ट वैल्यू unbound है अगर यह विकल्प चुना जाता है, तो x को डिकोड न किए जा सकने पर दिखाई जाने वाली वैल्यू.
|
कोड में बदलना
string json.encode(x)
encode फ़ंक्शन, एक ज़रूरी पोज़ीशनल आर्ग्युमेंट स्वीकार करता है. यह आर्ग्युमेंट को इन मामलों के हिसाब से JSON में बदलता है:
- None, True, और False को क्रमशः 'null', 'true', और 'false' में बदल दिया जाता है.
- इंट को डेसिमल इंट के तौर पर एन्कोड किया जाता है, भले ही वह कितना भी बड़ा हो. ऐसा हो सकता है कि कुछ डिकोडर, बहुत बड़ी पूर्णांक संख्याओं को डिकोड न कर पाएं.
- फ़्लोट को दशमलव बिंदु, घातांक या दोनों का इस्तेमाल करके कोड में बदला जाता है. भले ही, इसकी न्यूमेरिक वैल्यू पूर्णांक हो. नॉन-फ़ाइनिट फ़्लोटिंग-पॉइंट वैल्यू को कोड में बदलने पर गड़बड़ी होती है.
- स्ट्रिंग वैल्यू को JSON स्ट्रिंग लिटरल के तौर पर कोड में बदला जाता है. यह वैल्यू को दिखाता है. हर अनपेयर्ड सरोगेट को U+FFFD से बदल दिया जाता है.
- डिक्शनरी को JSON ऑब्जेक्ट के तौर पर, कुंजी के क्रम में एन्कोड किया जाता है. अगर कोई कुंजी स्ट्रिंग नहीं है, तो यह एक गड़बड़ी है.
- सूची या टपल को JSON ऐरे के तौर पर कोड में बदला जाता है.
- स्ट्रक्चर जैसी वैल्यू को फ़ील्ड के नाम के क्रम में, JSON ऑब्जेक्ट के तौर पर कोड में बदला जाता है.
पैरामीटर
पैरामीटर | ब्यौरा |
---|---|
x
|
ज़रूरी है |
encode_indent
string json.encode_indent(x, *, prefix='', indent='\t')
json.indent(json.encode(x), ...)
के बराबर होता है. फ़ॉर्मैटिंग पैरामीटर की जानकारी के लिए, indent
देखें.
पैरामीटर
पैरामीटर | ब्यौरा |
---|---|
x
|
ज़रूरी है |
prefix
|
डिफ़ॉल्ट वैल्यू '' है |
indent
|
डिफ़ॉल्ट वैल्यू '\t' है |
इंडेंट
string json.indent(s, *, prefix='', indent='\t')
पैरामीटर
पैरामीटर | ब्यौरा |
---|---|
s
|
ज़रूरी है |
prefix
|
डिफ़ॉल्ट वैल्यू '' है |
indent
|
डिफ़ॉल्ट वैल्यू '\t' है |