मारियाडीबी में, JSON_COMPACT()
एक अंतर्निहित फ़ंक्शन है जो JSON दस्तावेज़ से सभी अनावश्यक रिक्त स्थान को हटा देता है, ताकि यह जितना संभव हो उतना छोटा और कॉम्पैक्ट हो, और परिणाम देता है।
यह तब आसान हो सकता है जब आपको JSON डेटा को डेटाबेस कॉलम में संग्रहीत करने की आवश्यकता होती है, और आप नहीं चाहते कि JSON दस्तावेज़ आवश्यकता से अधिक स्थान का उपयोग करें।
विपरीत प्रभाव के लिए (अर्थात किसी JSON दस्तावेज़ को इंडेंट जोड़कर और उसे कई पंक्तियों में फैलाकर सुंदर बनाने के लिए), JSON_DETAILED()
का उपयोग करें समारोह।
सिंटैक्स
वाक्य रचना इस प्रकार है:
JSON_COMPACT(json_doc)
जहां json_doc
JSON दस्तावेज़ है।
उदाहरण
प्रदर्शित करने के लिए यहां एक उदाहरण दिया गया है।
SET @json_document = '{"a": [0, 1], "b": [2, 3]}';
SELECT
JSON_COMPACT(@json_document) AS Compact,
@json_document AS Original;
परिणाम:
+-----------------------+----------------------------+ | Compact | Original | +-----------------------+----------------------------+ | {"a":[0,1],"b":[2,3]} | {"a": [0, 1], "b": [2, 3]} | +-----------------------+----------------------------+
इस मामले में, पहले कॉलम में संकुचित संस्करण होता है, और दूसरे कॉलम में मूल JSON दस्तावेज़ होता है इससे पहले कि इसे संकुचित किया गया था।
बड़ा JSON दस्तावेज़
थोड़ा बड़ा, सुंदर JSON दस्तावेज़ वाला एक उदाहरण यहां दिया गया है।
SET @json_document = '{
"_id" : 1,
"name" : "Wag",
"details" : {
"type" : "Dog",
"weight" : 20,
"awards" : {
"Florida Dog Awards" : "Top Dog",
"New York Marathon" : "Fastest Dog",
"Sumo 2020" : "Biggest Dog"
}
}
}';
SELECT JSON_COMPACT(@json_document);
परिणाम:
{"_id":1,"name":"Wag","details":{"type":"Dog","weight":20,"awards":{"Florida Dog Awards":"Top Dog","New York Marathon":"Fastest Dog","Sumo 2020":"Biggest Dog"}}}
अशक्त तर्क
अगर तर्क NULL
है , परिणाम NULL
. है :
SELECT JSON_COMPACT(null);
परिणाम:
+--------------------+ | JSON_COMPACT(null) | +--------------------+ | NULL | +--------------------+
गलत पैरामीटर गणना
तर्क न देने से त्रुटि होती है:
SELECT JSON_COMPACT();
परिणाम:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'JSON_COMPACT'
यदि हम बहुत अधिक तर्क देते हैं तो हमें वही परिणाम मिलता है:
SELECT JSON_COMPACT('{ "a": 1}', '{ "b": 1 }');
परिणाम:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'JSON_COMPACT'