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
|
string;
डिकोड करना ज़रूरी है. JSON स्ट्रिंग को डिकोड करना ज़रूरी है. |
default
|
डिफ़ॉल्ट रूप से unbound अगर यह वैल्यू दी गई है, तो x को डिकोड न कर पाने पर यह वैल्यू दिखेगी.
|
कोड में बदलें
string json.encode(x)
encode फ़ंक्शन, एक ज़रूरी पोज़िशनल आर्ग्युमेंट स्वीकार करता है. इसे केस के हिसाब से JSON में बदला जाता है:
- कोई नहीं, सही, और गलत को क्रम से 'शून्य', 'सही', और 'गलत' में बदला जाता है.
- कोई भी 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
|
string;
डिफ़ॉल्ट '' है |
indent
|
string;
डिफ़ॉल्ट '\t' है |
इंडेंट
string json.indent(s, *, prefix='', indent='\t')
पैरामीटर
पैरामीटर | ब्यौरा |
---|---|
s
|
string;
required |
prefix
|
string;
डिफ़ॉल्ट '' है |
indent
|
string;
डिफ़ॉल्ट '\t' है |