MariaDB
 sql >> डेटाबेस >  >> RDS >> MariaDB

मारियाडीबी JSON_DETAILED () समझाया गया

मारियाडीबी में, JSON_DETAILED() एक अंतर्निहित फ़ंक्शन है जो एक JSON दस्तावेज़ लेता है, और इसे अधिक मानव-पठनीय प्रारूप में लौटाता है।

इसे कभी-कभी दस्तावेज़ को सुंदर बनाने के रूप में जाना जाता है। यह MySQL के JSON_PRETTY() . के समान है समारोह।

विपरीत प्रभाव के लिए (अर्थात किसी JSON दस्तावेज़ को संक्षिप्त करने के लिए), JSON_COMPACT() का उपयोग करें समारोह।

सिंटैक्स

वाक्य रचना इस प्रकार है:

JSON_DETAILED(json_doc[, tab_size])

जहां json_doc JSON दस्तावेज़ है, और tab_size एक वैकल्पिक मान है जो टैब/इंडेंट के आकार को निर्दिष्ट करता है।

उदाहरण

प्रदर्शित करने के लिए यहां एक उदाहरण दिया गया है।

SET @json_document = '{ "name": "Wag", "type": "Dog", "weight": 20 }';

SELECT JSON_DETAILED(@json_document);

परिणाम:

+----------------------------------------+
| JSON_DETAILED(@json_document)          |
+----------------------------------------+
| {
    "name": "Wag",
    "type": "Dog",
    "weight": 20
} |
+----------------------------------------+

मूल दस्तावेज़ सभी एक पंक्ति में है, जिसमें कोई टैब/इंडेंट या अन्य स्वरूपण नहीं है।

परिणाम कई पंक्तियों में फैला हुआ है और इसमें टैब / इंडेंट शामिल हैं, जो दस्तावेज़ को हम मनुष्यों के लिए पढ़ने में आसान बनाता है।

नेस्टेड संरचनाएं

यहां कुछ और उदाहरण दिए गए हैं, इस बार नेस्टेड संरचनाओं के साथ:

SET @json_document = '{ "_id" : 1, "awards" : [ "Top Dog", "Best Dog", "Biggest Dog" ] }';

SELECT JSON_DETAILED(@json_document);

परिणाम:

+---------------------------------------+
| JSON_DETAILED(@json_document)         |
+---------------------------------------+
| {
    "_id": 1,
    "awards": 
    [
        "Top Dog",
        "Best Dog",
        "Biggest Dog"
    ]
} |
+---------------------------------------+

और दूसरा:

SET @json_document = '{ "_id" : 2, "specs" : { "height" : 400, "weight" : 15, "color" : "brown" } }';

SELECT JSON_DETAILED(@json_document);

परिणाम:

+---------------------------------------+
| JSON_DETAILED(@json_document)         |
+---------------------------------------+
| {
    "_id": 2,
    "specs": 
    {
        "height": 400,
        "weight": 15,
        "color": "brown"
    }
} |
+---------------------------------------+

टैब का आकार

आपके पास टैब आकार निर्दिष्ट करने का विकल्प भी है। ऐसा करने के लिए, वांछित टैब आकार को दूसरे तर्क के रूप में पास करें।

उदाहरण

SET @json_document = '{ "_id" : 1, "awards" : [ "Top Dog", "Best Dog", "Biggest Dog" ] }';

SELECT JSON_DETAILED(@json_document, 1);

परिणाम:

{
 "_id": 1,
 "awards": 
 [
  "Top Dog",
  "Best Dog",
  "Biggest Dog"
 ]
}

और यहाँ यह फिर से है, लेकिन एक बड़े टैब आकार के साथ:

SET @json_document = '{ "_id" : 1, "awards" : [ "Top Dog", "Best Dog", "Biggest Dog" ] }';

SELECT JSON_DETAILED(@json_document, 10);

परिणाम:

{
 "_id": 1,
 "awards": 
 [
  "Top Dog",
  "Best Dog",
  "Biggest Dog"
 ]
}

बड़ा 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_DETAILED(@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_DETAILED(null);

परिणाम:

+---------------------+
| JSON_DETAILED(null) |
+---------------------+
| NULL                |
+---------------------+

गलत पैरामीटर गणना

तर्क न देने से त्रुटि होती है:

SELECT JSON_DETAILED();

परिणाम:

ERROR 1582 (42000): Incorrect parameter count in the call to native function 'JSON_DETAILED'

जब आप बहुत अधिक तर्क देते हैं तो ऐसा ही होता है:

SELECT JSON_DETAILED('{ "a": 1}', 1, 2);

परिणाम:

ERROR 1582 (42000): Incorrect parameter count in the call to native function 'JSON_DETAILED'

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. मारियाडीबी में REGEXP कैसे काम करता है

  2. 2017 में हमारे सबसे लोकप्रिय डेटाबेस ब्लॉग पोस्ट

  3. मारियाडीबी में DAYOFWEEK () कैसे काम करता है

  4. मास्टर उच्च उपलब्धता प्रबंधक (एमएचए) दुर्घटनाग्रस्त हो गया है! अब मैं क्या करू?

  5. मैक पर मारियाडीबी स्थापित करें