आप MySQL से GROUP_CONCAT() फंक्शन का उपयोग करके JSON फॉर्मेट बना सकते हैं। सिंटैक्स इस प्रकार है:
SELECT yourColumnName1, GROUP_CONCAT(CONCAT('{anyName:"', yourColumnName, '", anyName:"', yourColumnName, '"}')) AS anyVariableName FROM yourTableName GROUP BY yourColumnName1;
उपरोक्त सिंटैक्स को समझने के लिए, पहले एक टेबल बनाते हैं। टेबल बनाने का क्वेरी:
mysql> CREATE TABLE JsonFormatDemo (
-> UserId INT,
-> UserName VARCHAR(100),
-> UserEmail VARCHAR(100)
-> ); Query OK, 0 rows affected (0.99 sec)
INSERT कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें। रिकॉर्ड डालने का क्वेरी:
mysql> INSERT INTO JsonFormatDemo VALUES(101,'John','John@gmail.com'); Query OK, 1 row affected (0.19 sec) mysql> INSERT INTO JsonFormatDemo VALUES(101,'Bob','John@gmail.com'); Query OK, 1 row affected (0.18 sec) mysql> INSERT INTO JsonFormatDemo VALUES(102,'Carol','Carol@gmail.com'); Query OK, 1 row affected (0.12 sec) mysql> INSERT INTO JsonFormatDemo VALUES(103,'Sam','Sam@gmail.com'); Query OK, 1 row affected (0.15 sec)
SELECT स्टेटमेंट का उपयोग करके टेबल से सभी रिकॉर्ड प्रदर्शित करें:
mysql> SELECT * FROM JsonFormatDemo;
आउटपुट
+--------+----------+-----------------+ | UserId | UserName | UserEmail | +--------+----------+-----------------+ | 101 | John | John@gmail.com | | 101 | Bob | John@gmail.com | | 102 | Carol | Carol@gmail.com | | 103 | Sam | Sam@gmail.com | +--------+----------+-----------------+ 4 rows in set (0.00 sec)
GROUP_CONCAT() फंक्शन की मदद से JSON फॉर्मेट बनाने का क्वेरी:
mysql> SELECT UserId,
-> GROUP_CONCAT(CONCAT('{Name:"', UserName, '", Email:"', UserEmail, '"}')) AS JsonFormat
-> FROM JsonFormatDemo
-> GROUP BY UserId;
आउटपुट
+--------+----------------------------------------------------------------------------+
| UserId | JsonFormat |
+--------+----------------------------------------------------------------------------+
| 101 | {Name:"John", Email:"John@gmail.com"},{Name:"Bob", Email:"John@gmail.com"} |
| 102 | {Name:"Carol", Email:"Carol@gmail.com"} |
| 103 | {Name:"Sam", Email:"Sam@gmail.com"} |
+--------+----------------------------------------------------------------------------+
3 rows in set (0.00 sec)