SQLite कमांड लाइन इंटरफ़ेस का उपयोग करते समय क्वेरी परिणामों को JSON दस्तावेज़ के रूप में आउटपुट करना संभव है।
हम इसे json
. के साथ कर सकते हैं आउटपुट मोड।
हम SQLite फ़ंक्शन जैसे json_object()
. का भी उपयोग कर सकते हैं और/या json_array()
JSON दस्तावेज़ के रूप में क्वेरी परिणाम वापस करने के लिए।
JSON आउटपुट मोड
हम आउटपुट मोड को इस तरह बदल सकते हैं:
.mode json
बस इतना ही।
अब जब हम कोई क्वेरी चलाते हैं, तो परिणाम JSON दस्तावेज़ के रूप में आउटपुट होते हैं:
SELECT * FROM Pets;
परिणाम:
[{"PetId":1,"PetName":"Homer","TypeId":3}, {"PetId":2,"PetName":"Yelp","TypeId":1}, {"PetId":3,"PetName":"Fluff","TypeId":2}, {"PetId":4,"PetName":"Brush","TypeId":4}]
स्पष्ट होने के लिए, यहाँ यह तालिका मोड में है:
.mode table
क्वेरी चलाएँ:
SELECT * FROM Pets;
परिणाम:
+-------+---------+--------+ | PetId | PetName | TypeId | +-------+---------+--------+ | 1 | Homer | 3 | | 2 | Yelp | 1 | | 3 | Fluff | 2 | | 4 | Brush | 4 | +-------+---------+--------+
ध्यान दें कि json आउटपुट मोड को SQLite 3.33.0 में पेश किया गया था, जिसे 14 अगस्त 2020 को जारी किया गया था।
यदि आप SQLite के पुराने संस्करण का उपयोग कर रहे हैं, तो उपरोक्त उदाहरण आपके काम नहीं आएंगे। यदि आप इसे काम करना चाहते हैं तो आपको बाद के संस्करण में अपग्रेड करना होगा।
वैकल्पिक रूप से, आप कार्य करने के लिए JSON फ़ंक्शन का उपयोग कर सकते हैं (यह मानते हुए कि JSON फ़ंक्शन सक्षम हैं)।
JSON फ़ंक्शन
इसे करने का दूसरा तरीका यह है कि हमारी क्वेरी में एक या अधिक JSON फ़ंक्शन शामिल करें ताकि यह एक JSON दस्तावेज़ लौटाए।
सबसे पहले, हमारे आउटपुट मोड को list
पर सेट करें :
.mode list
अब एक क्वेरी चलाते हैं जो json_group_array()
. का उपयोग करती है और json_object()
JSON दस्तावेज़ में हमारे क्वेरी परिणाम वापस करने के लिए:
SELECT json_group_array(
json_object(
'PetId', PetId,
'PetName', PetName,
'TypeId', TypeId
)
)
FROM Pets;
परिणाम:
[{"PetId":1,"PetName":"Homer","TypeId":3}, {"PetId":2,"PetName":"Yelp","TypeId":1}, {"PetId":3,"PetName":"Fluff","TypeId":2}, {"PetId":4,"PetName":"Brush","TypeId":4}]
यहां, हम प्रत्येक पंक्ति को JSON ऑब्जेक्ट के रूप में आउटपुट करते हैं, और पूरी चीज़ को JSON सरणी में लपेटा जाता है।
हम json_group_array()
. को छोड़ सकते हैं प्रत्येक वस्तु को अपने आप वापस करने के लिए कार्य करता है:
SELECT json_object(
'PetId', PetId,
'PetName', PetName,
'TypeId', TypeId
)
FROM Pets;
परिणाम:
{"PetId":1,"PetName":"Homer","TypeId":3} {"PetId":2,"PetName":"Yelp","TypeId":1} {"PetId":3,"PetName":"Fluff","TypeId":2} {"PetId":4,"PetName":"Brush","TypeId":4}
ये उदाहरण मानते हैं कि JSON फ़ंक्शन सक्षम हैं। यदि आप SQLite 3.38.0 या बाद के संस्करण का उपयोग कर रहे हैं, तो इन्हें डिफ़ॉल्ट रूप से सक्षम किया जाना चाहिए (जब तक कि SQLite संकलित करते समय उन्हें स्पष्ट रूप से अक्षम नहीं किया गया हो)।
SQLite संस्करण 3.38.0 (22 फरवरी 2022 को जारी) से पहले, हमें SQLite को SQLITE_ENABLE_JSON1
के साथ संकलित करने की आवश्यकता थी निर्माण में JSON फ़ंक्शंस को शामिल करने का विकल्प। हालांकि, SQLite संस्करण 3.38.0 से शुरू होकर, JSON फ़ंक्शन डिफ़ॉल्ट रूप से शामिल होते हैं।