PHP में JSON के साथ काम करने का परिचय
\n\nJSON (JavaScript Object Notation) एक हल्का डेटा एक्सचेंज फॉर्मेट है जो वेब डेवलपमेंट में क्लाइंट और सर्वर के बीच जानकारी ट्रांसफर करने के लिए व्यापक रूप से उपयोग किया जाता है। JavaScript से उत्पन्न होने के बावजूद, JSON एक सार्वभौमिक मानक बन गया है जो PHP सहित लगभग सभी प्रोग्रामिंग भाषाओं द्वारा समर्थित है।
\n\nPHP में JSON के साथ काम करना नेटिव रूप से लागू किया गया है, जो इस फॉर्मेट की प्रोसेसिंग को सरल और प्रभावी बनाता है। इस लेख में हम विस्तार से जानेंगे कि JSON पार्सिंग (स्ट्रिंग को PHP डेटा स्ट्रक्चर में बदलना) और सीरियलाइज़ेशन (PHP डेटा को JSON स्ट्रिंग में बदलना) कैसे करें। यह सामग्री शुरुआती डेवलपर्स के लिए डिज़ाइन की गई है, इसलिए हम सरल से जटिल की ओर बढ़ेंगे।
\n\nइस लेख के अंत तक आप सीख जाएंगे:
\n- \n
- PHP ऐरे और ऑब्जेक्ट को JSON में बदलना \n
- JSON स्ट्रिंग को एसोसिएटिव ऐरे और ऑब्जेक्ट में पार्स करना \n
- JSON के साथ काम करते समय एरर को हैंडल करना \n
- नेस्टेड डेटा स्ट्रक्चर का उपयोग करना \n
PHP में JSON के लिए मुख्य फंक्शन
\n\nPHP JSON के साथ काम करने के लिए दो मुख्य फंक्शन प्रदान करता है:
\n\njson_encode() — डेटा सीरियलाइज़ेशन
\n\nफंक्शन json_encode() PHP वेरिएबल (ऐरे, ऑब्जेक्ट, स्ट्रिंग, नंबर) को JSON स्ट्रिंग में बदलता है। इसे सीरियलाइज़ेशन कहा जाता है।
बेसिक उपयोग का उदाहरण:
\n\n<?php\n// एसोसिएटिव ऐरे\n$user = [\n "name" => "राहुल",\n "age" => 28,\n "email" => "rahul@example.com",\n "is_active" => true\n];\n\n$json = json_encode($user);\necho $json;\n// आउटपुट: {"name":"राहुल","age":28,"email":"rahul@example.com","is_active":true}\n?>\n\nफंक्शन स्वचालित रूप से PHP डेटा टाइप को संबंधित JSON टाइप में बदलता है:
\n- \n
- स्ट्रिंग → JSON स्ट्रिंग \n
- नंबर → JSON नंबर \n
- बूलियन वैल्यू → true/false \n
- ऐरे → JSON ऑब्जेक्ट या ऐरे (की पर निर्भर करता है) \n
- NULL → null \n
json_decode() — JSON पार्सिंग
\n\nफंक्शन json_decode() उल्टा ऑपरेशन करता है — JSON स्ट्रिंग को PHP वेरिएबल में बदलता है। इसे पार्सिंग कहा जाता है।
उदाहरण:
\n\n<?php\n$jsonString = '{"name":"राहुल","age":28,"email":"rahul@example.com","is_active":true}';\n\n// ऑब्जेक्ट में पार्स करना (डिफ़ॉल्ट)\n$userObject = json_decode($jsonString);\necho $userObject->name; // आउटपुट: राहुल\n\n// एसोसिएटिव ऐरे में पार्स करना (दूसरा पैरामीटर true)\n$userArray = json_decode($jsonString, true);\necho $userArray["name"]; // आउटपुट: राहुल\n?>\n\nफंक्शन json_decode() के दूसरे पैरामीटर पर ध्यान दें:
- \n
false(डिफ़ॉल्ट) — stdClass ऑब्जेक्ट लौटाता है \n true— एसोसिएटिव ऐरे लौटाता है \n
एडवांस्ड फीचर्स और एरर हैंडलिंग
\n\nनेस्टेड स्ट्रक्चर के साथ काम करना
\n\nJSON नेस्टेड ऑब्जेक्ट और ऐरे को सपोर्ट करता है। PHP ऐसी स्ट्रक्चर को आसानी से हैंडल करता है:
\n\n<?php\n// जटिल डेटा स्ट्रक्चर\n$data = [\n "company" => "TechCorp",\n "employees" => [\n ["name" => "अन्ना", "position" => "Developer"],\n ["name" => "पीटर", "position" => "Designer"],\n ["name" => "मारिया", "position" => "Manager"]\n ],\n "address" => [\n "city" => "दिल्ली",\n "street" => "चांदनी चौक",\n "building" => 10\n ]\n];\n\n$json = json_encode($data, JSON_PRETTY_PRINT);\necho $json;\n?>\n\nपरिणाम JSON_PRETTY_PRINT फ्लैग की बदौलत पढ़ने में आसान फॉर्मेट में होगा।
पार्सिंग में एरर हैंडलिंग
\n\nबाहरी डेटा (API, फ़ाइलें) के साथ काम करते समय यह जांचना महत्वपूर्ण है कि JSON सही है या नहीं। फंक्शन json_last_error() का उपयोग करें:
<?php\n$badJson = '{"name":