PHP Data Format & Types
JSON with PHP
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
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
3 thoughts on “JSON with PHP”
Leave a Reply
You must be logged in to post a comment.
PHP Professional এবং Zend Certified PHP Engineer (ZCPE ) Course এটা কি 2 টা না 1 টা কোর্স?
Plz check this
http://w3programmers.com/bangla/web-design-and-development/
http://w3programmers.com/bangla/what-is-zcpe/
I love your tutorial. it’s very helpful.
Sir please upload some tutorial about Rest and Soap API.