PHP में JSON के साथ कार्य: पार्सिंग और सीरियलाइज़ेशन व्यावहारिक रूप से

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

PHP में JSON के साथ कार्य: पार्सिंग और सीरियलाइज़ेशन व्यावहारिक रूप से

\n\n

JSON (JavaScript Object Notation) एक हल्का डेटा विनिमय प्रारूप है जो वेब-API और कॉन्फ़िगरेशन फ़ाइलों के लिए मानक बन गया है। PHP में JSON के साथ कार्य मूल रूप से लागू किया गया है और इसमें अतिरिक्त एक्सटेंशन इंस्टॉल करने की आवश्यकता नहीं है। इस लेख में, हम वास्तविक उदाहरणों पर PHP में JSON का पार्सिंग और सीरियलाइज़ेशन करने का तरीका समझेंगे, साथ ही त्रुटियों को संभालना और नेस्टेड संरचनाओं के साथ कार्य करना सीखेंगे।

\n\n

JSON सीरियलाइज़ेशन और पार्सिंग क्या है?

\n\n

कोड पर जाने से पहले, आइए मुख्य अवधारणाओं को परिभाषित करें:

\n\n
    \n
  • सीरियलाइज़ेशन — PHP वेरिएबल (ऐरे, ऑब्जेक्ट) को JSON स्ट्रिंग में बदलना।
  • \n
  • पार्सिंग (डीसीरियलाइज़ेशन) — विपरीत प्रक्रिया: JSON स्ट्रिंग को PHP वेरिएबल में बदलना।
  • \n
\n\n

PHP इन कार्यों के लिए दो मुख्य फ़ंक्शन प्रदान करता है: json_encode() और json_decode()। आइए इन्हें विस्तार से देखें।

\n\n

json_encode() के साथ डेटा को JSON में सीरियलाइज़ करना

\n\n

फ़ंक्शन json_encode() एक PHP मान (संसाधनों को छोड़कर) लेता है और इसका JSON प्रतिनिधित्व लौटाता है। आइए एक बुनियादी उदाहरण देखें:

\n\n
<?php\n$user = [\n    'name' => 'इवान पेत्रोव',\n    'age' => 28,\n    'email' => 'ivan@example.com',\n    'is_active' => true\n];\n\n$json = json_encode($user);\necho $json;\n// आउटपुट: {"name":"इवान पेत्रोव","age":28,"email":"ivan@example.com","is_active":true}\n?>
\n\n

डिफ़ॉल्ट रूप से, json_encode() एसोसिएटिव ऐरे को JSON ऑब्जेक्ट में बदलता है। यदि ऐरे प्राप्त करना है, तो फ़्लैग JSON_FORCE_OBJECT का उपयोग करें:

\n\n
<?php\n$numbers = [10, 20, 30];\necho json_encode($numbers); // [10,20,30]\necho json_encode($numbers, JSON_FORCE_OBJECT); // {"0":10,"1":20,"2":30}\n?>
\n\n

json_encode() के उपयोगी फ़्लैग

\n\n
    \n
  • JSON_PRETTY_PRINT — पठनीयता के लिए इंडेंट के साथ आउटपुट को फ़ॉर्मेट करता है।
  • \n
  • JSON_UNESCAPED_UNICODE — यूनिकोड वर्णों (रूसी अक्षर) को एस्केप नहीं करता है।
  • \n
  • JSON_NUMERIC_CHECK — संख्याओं वाली स्ट्रिंग को संख्यात्मक प्रकार में बदलता है।
  • \n
\n\n
<?php\n$data = ['product' => 'किताब', 'price' => '1500'];\n\n// रूसी वर्णों के साथ सुंदर आउटपुट\necho json_encode($data, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE);\n/*\n{\n    "product": "किताब",\n    "price": "1500"\n}\n*/\n\n// स्ट्रिंग '1500' का स्वचालित रूप से संख्या में रूपांतरण\necho json_encode($data, JSON_NUMERIC_CHECK);\n// {"product":"किताब","price":1500}\n?>
\n\n

PHP में json_decode() के साथ JSON पार्सिंग

\n\n

फ़ंक्शन json_decode() एक JSON स्ट्रिंग लेता है और इसे PHP वेरिएबल में बदलता है। दूसरा पैरामीटर $associative यह निर्धारित करता है कि एसोसिएटिव ऐरे (true) या ऑब्जेक्ट (false, डिफ़ॉल्ट) लौटाना है या नहीं।

\n\n
<?php\n$jsonString = '{"name":"मारिया","age":25,"hobbies":["पढ़ना","यात्रा"]}';\n\n// ऑब्जेक्ट में पार्सिंग\n$obj = json_decode($jsonString);\necho $obj->name; // मारिया\necho $obj->hobbies[0]; // पढ़ना\n\n// एसोसिएटिव ऐरे में पार्सिंग\n$arr = json_decode($jsonString, true);\necho $arr['age']; // 25\n?>
\n\n

नेस्टेड संरचनाओं के साथ कार्य

\n\n

JSON में अक्सर नेस्टेड ऑब्जेक्ट और ऐरे होते हैं। आइए मौसम API का एक उदाहरण देखें:

\n\n
<?php\n$weatherJson = '{\n    "city": "मॉस्को",\n    "temperature": {\n        "current": -5,\n        "feels_like": -8\n    },\n    "forecast": [\n        {"day": "सोम", "temp": -3},\n        {"day": "मंगल", "temp": -1}\n    ]\n}';\n\n$weather = json_decode($weatherJson, true);\n\necho "वर्तमान तापमान: " . $weather['temperature']['current'] . "°C\\n";\necho "महसूस होता है: " . $weather['temperature']['feels_like'] . "°C\\n";\n\nforeach ($weather['forecast'] as $day) {\n    echo "{$day['day']}: {$day['temp']}°C\\n";\n}\n?>
\n\n

ब्लॉग

पुस्तक अनुशंसाएँ