Free tutorials & notes in Hindi & English · Clean code examples 🧰 मुफ़्त PDF और फ़ोटो टूल्स →
🔴 Advanced  ·  Lesson 31

JSON Encode/Decode

JSON क्या है

JSON (JavaScript Object Notation) data रखने और भेजने का हल्का text format है। यह {} और [] के साथ लिखे PHP array जैसा दिखता है। server और browser के बीच, या API में data भेजने का यह standard तरीका है, क्योंकि लगभग हर language इसे पढ़ सकती है।

💡 PHP में दो मुख्य functions: json_encode (array → JSON) और json_decode (JSON → array)।

Array से JSON (encode)

<?php
  $data = [
      "name"  => "Aman",
      "class" => 12,
      "marks" => [90, 85, 88]
  ];
  echo json_encode($data);
?>
{"name":"Aman","class":12,"marks":[90,85,88]}

json_encode पूरे array को — nested marks array समेत — एक JSON string में बदल देता है, browser या API को भेजने के लिए तैयार।

JSON से array (decode)

PHP array वापस पाने को दूसरे argument में true दीजिए।

<?php
  $json = '{"name":"Aman","class":12}';
  $arr = json_decode($json, true);
  echo $arr["name"];   // Aman
  echo $arr["class"];  // 12
?>
Aman 12

true के साथ values को आम associative array की तरह access कीजिए ($arr["name"])।

Object के रूप में decode

true बिना PHP object देता है; -> से access कीजिए।

<?php
  $json = '{"name":"Aman","class":12}';
  $obj = json_decode($json);   // object
  echo $obj->name;             // Aman
?>
Aman

दोनों तरीके चलते हैं — अपने code की पसंद से array style (["name"]) या object style (->name) चुनिए।

पढ़ने योग्य JSON

JSON को इंसानों के लिए सुंदर format करने को JSON_PRETTY_PRINT इस्तेमाल कीजिए।

<?php
  $data = ["name" => "Aman", "class" => 12];
  echo json_encode($data, JSON_PRETTY_PRINT);
?>
{
  "name": "Aman",
  "class": 12
}

Pretty print indentation जोड़ता है, जो debugging या ख़ुद पढ़ने वाली file में JSON save करते समय बढ़िया है।

आम गलतियाँ

  • json_decode में true भूलना। इसके बिना object मिलता है, तो $x["key"] fail होता है।
  • Invalid JSON। एक फालतू comma या missing quote से json_decode null देता है।
  • Errors न जाँचना। decode क्यों fail हुआ देखने को json_last_error_msg()।
  • Object और array access मिलाना। objects को ->, arrays को [] — दोनों नहीं।

सारांश

  • JSON systems के बीच data भेजने का text format है।
  • json_encode PHP array को JSON बनाता है।
  • json_decode($j, true) JSON को PHP array बनाता है।
  • true बिना object मिलता है (-> इस्तेमाल कीजिए)।
  • पढ़ने योग्य output को JSON_PRETTY_PRINT।

आगे, दूसरी sites से JSON लाइए PHP cURL से, या data API बनाइए PHP REST API से।

अक्सर पूछे जाने वाले प्रश्न (FAQ)

PHP में JSON किसलिए इस्तेमाल होता है?
JSON systems के बीच data भेजने का सरल text format है — जैसे PHP और JavaScript के बीच, या API बनाते समय। PHP arrays को json_encode से JSON बनाती है और JSON को json_decode से वापस पढ़ती है।
json_encode और json_decode में क्या अंतर है?
json_encode PHP array या object को JSON string में बदलता है। json_decode उल्टा करता है — JSON string को वापस PHP array या object में। ये बिल्कुल उल्टे हैं।
json_decode से object की जगह array कैसे लूँ?
दूसरे argument में true दीजिए: json_decode($json, true)। इसके बिना PHP object देता है जहाँ values [] की जगह -> से access होती हैं।
json_decode null क्यों देता है?
आमतौर पर JSON invalid होता है — missing quote, comma या bracket। error देखने को json_last_error_msg() जाँचिए कि क्या गलत हुआ।
क्या json_encode nested arrays संभाल सकता है?
हाँ। Nested arrays अपने-आप nested JSON बन जाते हैं, तो multidimensional PHP array बिना extra काम के objects के अंदर objects वाला JSON बन जाता है।
← Back to PHP Tutorial
🔗

Share this topic with a friend

यह topic किसी दोस्त को भेजें

Found it useful? Send it to a classmate learning the same thing.

अच्छा लगा? जो दोस्त यही सीख रहा है, उसे भेज दीजिए।

💻 लाइव कोड एडिटर

इस पेज के प्रोग्राम यहीं तैयार हैं — चलाएँ, बदलें और सीखें। कुछ भी इंस्टॉल किए बिना।
OneCompiler द्वारा संचालित। कोड एडिटर में अपने आप आ जाता है — Run दबाकर आउटपुट देखें। अगर एडिटर न खुले तो नए टैब में खोलें.
अगला topiccURL API Requests आपकी प्रगति: 31 / 50 (62%) · Lesson 32 / 50 आगे बढ़ें →

यह lesson कैसा लगा?

आपकी राय से हम content और बेहतर बनाते हैं।

अपना review और सुझाव लिखें (वैकल्पिक)

Review approve होने के बाद आपका नाम और शहर इसके साथ public दिख सकते हैं। Email या phone न लिखें।

▶ CodingEasily on YouTube

Video से सीखें – आसान Hindi में

चुनी हुई video: RDBMS भाग 3 – Class XI Commerce IT

▶ Channel subscribe करें