SQLite json_type()
फ़ंक्शन दिए गए JSON के सबसे बाहरी तत्व का प्रकार देता है।
जब हम फ़ंक्शन को कॉल करते हैं तो हम JSON को एक तर्क के रूप में प्रदान करते हैं।
हम वैकल्पिक रूप से एक पथ पास कर सकते हैं, जो हमें JSON के भीतर एक विशिष्ट सरणी तत्व या ऑब्जेक्ट सदस्य का प्रकार प्राप्त करने की अनुमति देता है।
सिंटैक्स
हम निम्नलिखित तरीकों से फ़ंक्शन का उपयोग कर सकते हैं:
json_type(X)
json_type(X,P)
जहां X
JSON का प्रतिनिधित्व करता है, और P
एक वैकल्पिक तर्क है जो प्रकार प्राप्त करने के लिए पथ का प्रतिनिधित्व करता है।
फ़ंक्शन निम्न SQL टेक्स्ट मानों में से एक लौटाता है: null
, true
, false
, integer
, real
, text
, array
, या object
।
उदाहरण
यह कैसे काम करता है यह दिखाने के लिए यहां एक उदाहरण दिया गया है:
SELECT json_type('{ "name" : "Fluffy", "age" : 10 }');
परिणाम:
object
यहां मैंने केवल JSON प्रदान किया है - मैंने पथ प्रदान नहीं किया है। इस मामले में, सबसे बाहरी JSON एक ऑब्जेक्ट है।
यहाँ एक सरणी है:
SELECT json_type('[ 1, 2, 3 ]');
परिणाम:
array
हम इस तरह की चीजें भी कर सकते हैं:
SELECT json_type(10.45);
परिणाम:
real
इस मामले में, मेरा तर्क वास्तव में JSON ऑब्जेक्ट या सरणी नहीं है, बल्कि json_type()
है वैसे भी अपने प्रकार को वापस करने में सक्षम था।
पथ निर्दिष्ट करें
जब हम पथ निर्दिष्ट करते हैं तो यहां क्या होता है:
SELECT json_type('{ "name" : "Fluffy", "age" : 10 }', '$.age');
परिणाम:
integer
इस मामले में, मैंने $.age
. का पथ निर्दिष्ट किया है , जिसके परिणामस्वरूप age
. का प्रकार निकला सदस्य को वापस किया जा रहा है।
आइए name
का प्रकार प्राप्त करें सदस्य:
SELECT json_type('{ "name" : "Fluffy", "age" : 10 }', '$.name');
परिणाम:
text
आइए इसे एक सरणी पर करते हैं:
SELECT json_type('[ "Wag", 2, 1.5, null, true, false ]', '$[0]');
परिणाम:
text
इसे पहले तत्व का प्रकार मिला (SQLite सरणियाँ शून्य-आधारित हैं, इसलिए 0
पहले तत्व के लिए है)।
आइए सरणी में सभी तत्वों के प्रकार प्राप्त करें:
SELECT
json_type('[ "Wag", 2, 1.5, null, true, false ]', '$[0]') AS "0",
json_type('[ "Wag", 2, 1.5, null, true, false ]', '$[1]') AS "1",
json_type('[ "Wag", 2, 1.5, null, true, false ]', '$[2]') AS "2",
json_type('[ "Wag", 2, 1.5, null, true, false ]', '$[3]') AS "3",
json_type('[ "Wag", 2, 1.5, null, true, false ]', '$[4]') AS "4",
json_type('[ "Wag", 2, 1.5, null, true, false ]', '$[5]') AS "5";
परिणाम:
+------+---------+------+------+------+-------+ | 0 | 1 | 2 | 3 | 4 | 5 | +------+---------+------+------+------+-------+ | text | integer | real | null | true | false | +------+---------+------+------+------+-------+