PHP में JSON के साथ काम करना: शुरुआती लोगों के लिए पार्सिंग और सीरियलाइज़ेशन

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

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

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

JSON और PHP का परिचय

\n\n

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

\n\n

इस लेख में, हम PHP में JSON के साथ काम करने की दो मूलभूत प्रक्रियाओं पर चर्चा करेंगे:

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

यह सामग्री शुरुआती PHP डेवलपर्स के लिए है, इसलिए हम सरल से जटिल की ओर बढ़ेंगे, विस्तृत कोड उदाहरणों के साथ।

\n\n

डेटा सीरियलाइज़ेशन: फ़ंक्शन json_encode()

\n\n

सीरियलाइज़ेशन PHP के आंतरिक प्रतिनिधित्व (ऐरे, ऑब्जेक्ट) से डेटा को JSON प्रारूप की स्ट्रिंग में बदलने की प्रक्रिया है। यह तब आवश्यक है जब आप क्लाइंट (ब्राउज़र, मोबाइल ऐप) को डेटा भेजना चाहते हैं या इसे सार्वभौमिक प्रारूप में फ़ाइल/डेटाबेस में सहेजना चाहते हैं।

\n\n

ऐरे को JSON में बदलना

\n\n

सबसे सरल मामला — एक एसोसिएटिव ऐरे का सीरियलाइज़ेशन:

\n\n
<?php\n$user = [\n    "name" => "इवान पेत्रोव",\n    "age" => 28,\n    "email" => "ivan@example.com",\n    "is_active" => true\n];\n\n$jsonString = json_encode($user, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT);\necho $jsonString;\n?>
\n\n

निष्पादन का परिणाम:

\n\n
{\n    "name": "इवान पेत्रोव",\n    "age": 28,\n    "email": "ivan@example.com",\n    "is_active": true\n}
\n\n

फ़्लैग पर ध्यान दें:

\n
    \n
  • JSON_UNESCAPED_UNICODE — सिरिलिक वर्णों को संरक्षित करने की अनुमति देता है (इस फ़्लैग के बिना, रूसी वर्ण \\uXXXX में बदल जाएंगे)।
  • \n
  • JSON_PRETTY_PRINT — पठनीयता के लिए इंडेंटेशन के साथ आउटपुट को फ़ॉर्मेट करता है (डिबगिंग के लिए उपयोगी, लेकिन स्ट्रिंग का आकार बढ़ाता है)।
  • \n
\n\n

ऑब्जेक्ट को JSON में बदलना

\n\n

PHP ऑब्जेक्ट को भी सीरियलाइज़ किया जा सकता है। इसमें केवल public-प्रॉपर्टी शामिल होंगी:

\n\n
<?php\nclass Product {\n    public $id;\n    public $title;\n    private $secretPrice; // JSON में शामिल नहीं होगा\n\n    public function __construct($id, $title, $price) {\n        $this->id = $id;\n        $this->title = $title;\n        $this->secretPrice = $price;\n    }\n}\n\n$product = new Product(1, "लैपटॉप", 75000);\necho json_encode($product, JSON_UNESCAPED_UNICODE);\n// आउटपुट: {"id":1,"title":"लैपटॉप"}\n?>
\n\n

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

\n\n

JSON नेस्टिंग का समर्थन करता है। किसी भी गहराई के PHP ऐरे सही ढंग से बदल जाते हैं:

\n\n
<?php\n$data = [\n    "company" => "TechCorp",\n    "employees" => [\n        ["name" => "अन्ना", "position" => "डेवलपर"],\n        ["name" => "बोरिस", "position" => "डिज़ाइनर"]\n    ],\n    "address" => [\n        "city" => "मॉस्को",\n        "street" => "टावर्सकाया"\n    ]\n];\n\necho json_encode($data, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT);\n?>
\n\n

JSON पार्सिंग: फ़ंक्शन json_decode()

\n\n

पार्सिंग (डीसीरियलाइज़ेशन) — यह उल्टी प्रक्रिया है: JSON स्ट्रिंग से हम वह डेटा प्राप्त करते हैं जिसके साथ PHP काम कर सकता है।

\n\n

ऑब्जेक्ट प्राप्त करना

\n\n

डिफ़ॉल्ट रूप से, json_decode() stdClass क्लास का ऑब्जेक्ट लौटाता है:

\n\n
<?php\n$jsonString = '{"name":"इवान पेत्रोव","age":28,"email":"ivan@example.com"}';\n$user = json_decode($jsonString);\n\necho $user->name;    // इवान पेत्रोव\necho $user->age;     // 28\necho $user->email;   // ivan@example.com\n?>
\n\n

ऐरे प्राप्त करना

\n\n

यदि दूसरा आर्गुमेंट true पास किया जाए, तो फ़ंक्शन एक एसोसिएटिव ऐरे लौटाता है:

\n\n
&l                

ब्लॉग

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