मारियाडीबी में, JSON_LOOSE()
एक अंतर्निहित फ़ंक्शन है जो इसे और अधिक पठनीय बनाने के लिए JSON दस्तावेज़ में रिक्त स्थान जोड़ता है।
यह JSON_DETAILED()
के समान है फ़ंक्शन, सिवाय इसके कि यह नेस्टेड संरचनाओं पर जोर नहीं देता है जिस तरह से JSON_DETAILED()
करता है।
विपरीत प्रभाव के लिए (अर्थात अनावश्यक रिक्त स्थान को हटाने के लिए), JSON_COMPACT()
का उपयोग करें समारोह।
सिंटैक्स
वाक्य रचना इस प्रकार है:
JSON_LOOSE(json_doc)
जहां json_doc
JSON दस्तावेज़ है।
उदाहरण
प्रदर्शित करने के लिए यहां एक उदाहरण दिया गया है।
SET @json = '{"name":"Wag","type":"Dog"}';
SELECT JSON_LOOSE(@json);
परिणाम:
+--------------------------------+ | JSON_LOOSE(@json) | +--------------------------------+ | {"name": "Wag", "type": "Dog"} | +--------------------------------+
मूल दस्तावेज़ में कोई स्थान नहीं है, लेकिन JSON_LOOSE()
. का परिणाम है रिक्त स्थान हैं ..
यहां इसकी फिर से मूल दस्तावेज़ से तुलना की गई है:
SET @json = '{"name":"Wag","type":"Dog"}';
SELECT
@json AS 'Original',
JSON_LOOSE(@json) AS 'Modified';
परिणाम:
+-----------------------------+--------------------------------+ | Original | Modified | +-----------------------------+--------------------------------+ | {"name":"Wag","type":"Dog"} | {"name": "Wag", "type": "Dog"} | +-----------------------------+--------------------------------+
ऑब्जेक्ट्स और ऐरे
यहाँ एक वस्तु और एक सरणी के साथ एक उदाहरण दिया गया है, केवल यह दिखाने के लिए कि यह ऐसी संरचनाओं के लिए कोई अतिरिक्त स्वरूपण प्रदान नहीं करता है।
SET @json = '{"specs":{"w":10,"h":30},"scores":[1,2,3]}';
SELECT JSON_LOOSE(@json);
परिणाम:
+----------------------------------------------------+ | JSON_LOOSE(@json) | +----------------------------------------------------+ | {"specs": {"w": 10, "h": 30}, "scores": [1, 2, 3]} | +----------------------------------------------------+
यदि आपको इन संरचनाओं के लिए अतिरिक्त स्वरूपण की आवश्यकता है, तो JSON_DETAILED()
आज़माएं समारोह।
शून्य तर्क
अगर तर्क NULL
है , परिणाम NULL
. है :
SELECT JSON_LOOSE(null);
परिणाम:
+------------------+ | JSON_LOOSE(null) | +------------------+ | NULL | +------------------+
गलत पैरामीटर गणना
तर्क न देने से त्रुटि होती है:
SELECT JSON_LOOSE();
परिणाम:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'JSON_LOOSE'
जब आप बहुत अधिक तर्क देते हैं तो ऐसा ही होता है:
SELECT JSON_LOOSE('{"a":1}', 2);
परिणाम:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'JSON_LOOSE'