Module json, JSON से जुड़े फ़ंक्शन का Starlark मॉड्यूल है.
सदस्य
डिकोड करें
unknown json.decode(x, default=unbound)
"null"
,"true"
, और"false"
कोNone
,True
, औरFalse
के तौर पर पार्स किया जाता है.- संख्याओं को int के तौर पर या फ़्लोट के तौर पर पार्स किया जाता है. ऐसा तब होता है, जब उनमें दशमलव बिंदु या घातांक हो. हालांकि, JSON में अनलिमिटेड वैल्यू के लिए कोई सिंटैक्स नहीं है, लेकिन बहुत बड़ी वैल्यू को अनलिमिटेड के तौर पर डिकोड किया जा सकता है.
- JSON ऑब्जेक्ट को, नए और अनफ़्रीज़ किए गए Starlark डिक्शनरी के तौर पर पार्स किया जाता है. अगर ऑब्जेक्ट में एक ही की स्ट्रिंग एक से ज़्यादा बार आती है, तो की की आखिरी वैल्यू को रखा जाता है.
- 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' में बदल दिया जाता है.
- कोई भी int, चाहे वह कितना भी बड़ा हो, दशमलव वाले पूर्णांक के तौर पर एन्कोड किया जाता है. हो सकता है कि कुछ डिकोडर, बहुत बड़े पूर्णांकों को डिकोड न कर पाएं.
- फ़्लोट को दशमलव बिंदु या एक्सपोनेंट या दोनों का इस्तेमाल करके एन्कोड किया जाता है. भले ही, उसकी संख्या वाली वैल्यू पूर्णांक हो. अनफ़ाइनाइट फ़्लोटिंग-पॉइंट वैल्यू को कोड में बदलने पर गड़बड़ी होती है.
- स्ट्रिंग वैल्यू को 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' है |