JSON with PHP

PHP JSON
PHP JSON

JSON কি?

JSON হচ্ছে JavaScript Object Notation এর সংক্ষিপ্ত রুপ। বর্তমানে সম্পূর্ণ আলাদা platforms এবং operating systems এর মধ্যে Data আদান প্রধানের একটি মাধ্যম হিসেবে ব্যবহার হচ্ছে JSON, যা একই সাথে machine এবং human readable। এছাড়া Server এর সাথে client এর যোগাযোগের বহুল ব্যবহৃত একটা মাধ্যম হচ্ছে JSON. আপনি চাইলে JSON ডাটাকে .json extension যুক্ত ফাইল এ সংরক্ষণ করে এটাকে ডাটাবেস হিসেবেও ব্যবহার করতে পারেন। JSON language independent যা PHP, C, C++, Java, Javascript, Perl, এবং Python Language সহ আরো অনেক Programming Language এ সাপোর্ট করে। JSON কে তার lightweight এবং compact structure এর জন্য অনেক সময xml এর বদলে ব্যবহার হয়। NoSQL databases যেমন MongoDb, CouchDb এর মতো বহুল জনপ্রিয় Database গুলো তাদের Data store এর জন্য JSON কে ব্যবহার করে থাকে। ২০০১ সালে মার্কিন কম্পিউটার প্রোগ্রামার, এন্টারপ্রেনিউর এবং বর্তমানে (২০১৮) পেপাল এর সিনিয়র জাভাস্ক্রিপ্ট আর্কিটেকট ডগলাস ক্রকফোর্ড এটি প্রথম প্রবর্তন করেন।

https://blog.w3programmers.com/php-course/

JSON লেখার নিয়ম কি?

  • JSON String এর মধ্যে ডাটাকে “key:value” জোড়ায় জোড়ায় লিখতে হয়।
  • JSON String এর ডাটা গুলো কমা (,) দ্বারা পৃথক করে লিখতে হয়।
  • JSON String এর Object value গুলোকে curely braces এর মধ্যে রাখা হয়
  • JSON String এর Array value গুলোকে কে square braces এর মধ্যে রাখা হয়

JSON String কত প্রকার :

JSON String তিন প্রকার:

  • JSON Object String
  • JSON Array String
  • JSON Mixed String

JSON Object String

যখন JSON String এর value গুলোকে curely braces এর মধ্যে রাখা হয়, তখন এটাকে JSON Object String বলা হয়। আর Object এর key সবসময় string হয় এবং value গুলো string, number, true, false, null, function, date এমনকি Object অথবা array ও হতে পারে।

নিচে JSON Object String এর উদাহরণটি দেখুন :

{"a":"Apple","b":"Banana","m":"Mango","o":"Orange"}

JSON Array String

যখন JSON String এর value গুলোকে কে square braces এর মধ্যে রাখা হয়, তখন এটাকে JSON Array String বলা হয়, আর JSON Array String এর key সবসময় number থাকে।

নিচে JSON Array String এর উদাহরণটি দেখুন :

["Apple","Banana","Mango","Orange"]

JSON Mixed String

যখন JSON String এর value গুলো curely braces এবং square braces এর মধ্যে Mixed অবস্থায় থাকে, তখন এটাকে JSON Mixed String বলা হয়।

নিচে JSON Mixed String এর উদাহরণটি দেখুন :

{"0":4,"1":3,"2":5,"3":[5,6,7],"a":"America"}

https://blog.w3programmers.com/php-course/

PHP object অথবা array কে JSON String এ রূপান্তর:

PHP object অথবা array কে JSON String এ রূপান্তর করতে হলে আপনাকে json_encode() function টি ব্যবহার করতে হবে।

PHP Array কে JSON String এ পরিবর্তন:

<?php
$students=[
            ["name"=>"Mamnun","mobile"=>"01788229911","address"=>"Dhaka,Bangladesh"],
            ["name"=>"Muhib","mobile"=>"01755219912","address"=>"Cumilla,Bangladesh"],
            ["name"=>"Ratul","mobile"=>"01766229911","address"=>"Dinajpur,Bangladesh"]
          ];
echo json_encode($students);

Result

[
  {
    "name":"Mamnun",
    "mobile":"01788229911",
    "address":"Dhaka,Bangladesh"
  },
  {
    "name":"Muhib",
    "mobile":"01755219912",
    "address":"Cumilla,Bangladesh"
  },
  {
    "name":"Ratul",
    "mobile":"01766229911",
    "address":"Dinajpur,Bangladesh"
  }
]

PHP Object কে JSON String এ পরিবর্তন:

<?php
   class Emp {
      public $name = "";
      public $hobbies  = "";
      public $birthdate = "";
   }
  
   $e = new Emp();
   $e->name = "Mamnun";
   $e->hobbies  = "sports";
   $e->birthdate = date('m-d-Y h:i:s a', strtotime("8-5-1974 12:20:03"));

   echo json_encode($e);
?>

Result:

{
  "name":"Mamnun",
  "hobbies":"sports",
  "birthdate":"05-08-1974 12:20:03 pm"
}

JSON String কে PHP object অথবা array তে রূপান্তর:

JSON String কে PHP object অথবা array তে রূপান্তর করতে হলে আপনাকে json_decode() function টি ব্যবহার করতে হবে।

JSON String কে PHP object এ রূপান্তর

<?php
$students=<<<"students"
[
  {
    "name":"Mamnun",
    "mobile":"01788229911",
    "address":"Dhaka,Bangladesh"
  },
  {
    "name":"Muhib",
    "mobile":"01755219912",
    "address":"Cumilla,Bangladesh"
  },
  {
    "name":"Ratul",
    "mobile":"01766229911",
    "address":"Dinajpur,Bangladesh"
  }
]
students;
$obj=json_decode($students);
print_r($obj);

Result

Array ( 
  [0] => stdClass Object ( 
    [name] => Mamnun 
    [mobile] => 01788229911 
    [address] => Dhaka,Bangladesh 
  ) 
  [1] => stdClass Object ( 
    [name] => Muhib 
    [mobile] => 01755219912 
    [address] => Cumilla,Bangladesh 
  ) 
  [2] => stdClass Object ( 
    [name] => Ratul 
    [mobile] => 01766229911 
    [address] => Dinajpur,Bangladesh 
  ) 
)

https://blog.w3programmers.com/php-course/

JSON String কে PHP Array তে রূপান্তর

<?php
<?php
$students=<<<"students"
[
  {
    "name":"Mamnun",
    "mobile":"01788229911",
    "address":"Dhaka,Bangladesh"
  },
  {
    "name":"Muhib",
    "mobile":"01755219912",
    "address":"Cumilla,Bangladesh"
  },
  {
    "name":"Ratul",
    "mobile":"01766229911",
    "address":"Dinajpur,Bangladesh"
  }
]
students;
$array=json_decode($students,true);
print_r($array);

Result

Array ( 
  [0] => Array ( 
    [name] => Mamnun 
    [mobile] => 01788229911 
    [address] => Dhaka,Bangladesh 
  ) 
  [1] => Array ( 
    [name] => Muhib 
    [mobile] => 01755219912 
    [address] => Cumilla,Bangladesh 
  ) 
  [2] => Array ( 
    [name] => Ratul 
    [mobile] => 01766229911 
    [address] => Dinajpur,Bangladesh 
  ) 
)

https://blog.w3programmers.com/php-course/

XML String কে কি JSON string এ রূপান্তর করা যাবে?

হ্যাঁ, অবশ্যই XML String কে JSON string এ রূপান্তর করা যাবে, আর তা json_encode() function দিয়েই করা সম্ভব। আবার আপনি চাইলে XML String কে json_decode() function এর মাধ্যমে PHP array অথবা Object এ রূপান্তর করে নিতে পারবেন। নিচের উদাহরণ কয়টি লক্ষ্য করুন:

<?php
$xml=<<<xml
<?xml version="1.0"?>
<college>  
  <student>  
      <firstname>Nahida</firstname>  
      <lastname>Sultana</lastname>  
      <contact>01722334412</contact>  
      <email>nahida@abc.com</email>  
      <address type="Present Address" title="Student Present Address">  
           <district>Noakhali</district>  
           <thana>Begum Gonj</thana>  
           <post>3831</post>  
      </address>  
      <fathername>Karim Bapary</fathername>
  </student>  
</college>
xml;
$sxe=simplexml_load_string($xml);
echo "<h3>Converting XML to JSON String</h3>";
$str= json_encode($sxe);
echo $str;
echo "<h3>Converting JSON String to Object</h3>";
echo "<pre>";
print_r(json_decode($str));
echo "</pre>";
echo "<h3>Converting JSON String to Array</h3>";
echo "<pre>";
print_r(json_decode($str,true));
echo "</pre>";
?>

Output

Convert XML to JSON String
Convert XML to JSON String
Convert JSON String to Array
Convert JSON String to Array
Convert JSON String To Object
Convert JSON String To Object

JSON File থেকে কিভাবে JSON Data read করবেন?

JSON File থেকে JSON Data read করতে হলে আপনাকে প্রথমে PHP file_get_contents() function দিয়ে JSON Data read করতে হবে, তারপর json_decode() function দিয়ে ডাটা গুলোকে decode করে নিতে হবে। চলুন প্রথমে একটা “students.json” নামে একটা ফাইল তৈরী করি। নিচে students.json file এর text দেওয়া হলো, আপনাকে শুধু students.json নামে save করে নিলেই হবে।

students.json File

[
  {
    "name":"Mamnun",
    "mobile":"01788229911",
    "address":"Dhaka,Bangladesh"
  },
  {
    "name":"Muhib",
    "mobile":"01755219912",
    "address":"Cumilla,Bangladesh"
  },
  {
    "name":"Ratul",
    "mobile":"01766229911",
    "address":"Dinajpur,Bangladesh"
  }
]

এবার নিচের কোড গুলো readJson.php নামে save করে আপনার browser এ রান করুন :

<?php
$url = 'students.json'; // path to your JSON file
$data = file_get_contents($url); // put the contents of the file into a variable
$students = json_decode($data); // decode the JSON feed
$table= "<table border='1'>";
	$table.="<tr>";
		$table.="<th>Name</th><th>Mobile</th><th>Address</th>";
	$table.="</tr>";
foreach($students as $student){
		$table.="<tr>";
			$table.="<td>$student->name</td>";
			$table.="<td>$student->mobile</td>";
			$table.="<td>$student->address</td>";
		$table.="</tr>";
}
$table.="</table>";
echo $table;
?>

Result

read Json data from URL
read Json data from URL

আমি মাসুদ আলম, বাংলাদেশের ৩৬ তম Zend Certified Engineer । ২০০৯ সালে কম্পিউটার সাইন্স থেকে বেচেলর ডিগ্রী অর্জন করি। দীর্ঘ ১৫ বছর আমি Winux Soft, SSL Wireless, IBCS-PRIMAX, Max Group, Canadian International Development Agency (CIDA), Care Bangladesh, World Vision, Hellen Keller, Amarbebsha Ltd সহ বিভিন্ন দেশি বিদেশী কোম্পানিতে ডেটা সাইন্স, মেশিন লার্নিং, বিগ ডেটা, ওয়েব ডেভেলপমেন্ট এবং সফটওয়্যার ডেভেলপমেন্ট এর উপর বিভিন্ন লিডিং পজিশন এ চাকরি এবং প্রজেক্ট লিড করি। এছাড়াও বাংলাদেশের ১৮৫ জন জেন্ড সার্টিফাইড ইঞ্জিনিয়ার এর মধ্যে ১২০ এরও অধিক ছাত্র আমার হাতে জেন্ড সার্টিফাইড ইঞ্জিনিয়ার হয়েছেন। বর্তমানে w3programmers ট্রেনিং ইনস্টিটিউট এ PHP এর উপর Professional এবং Advance Zend Certified PHP -8.2 Engineering, Laravel Mastering Course with ReactJS, Python Beginning To Advance with Blockchain, Machine Learning and Data Science, Professional WordPress Plugin Development Beginning to Advance কোর্স করাই। আর অবসর সময়ে w3programmers.com এ ওয়েব টেকনোলজি নিয়ে লেখালেখি করি।

3 thoughts on “JSON with PHP

Leave a Reply