PHP and JSON

در PHP می‌تونیم خیلی راحت با JSON کار کنیم. JSON (JavaScript Object Notation) یک فرمت سبک و پرکاربرد برای تبادل داده بین سیستم‌هاست.

1️⃣ تبدیل PHP Array به JSON (Encode)

<?php $fruits = ["apple", "banana", "cherry"]; // تبدیل آرایه به JSON $jsonData = json_encode($fruits); echo $jsonData; ?>

📌 خروجی:

["apple","banana","cherry"]

2️⃣ تبدیل PHP Associative Array به JSON

<?php $person = [ "name" => "Ali", "age" => 25, "city" => "Tehran" ]; echo json_encode($person); ?>

📌 خروجی:

{"name":"Ali","age":25,"city":"Tehran"}

3️⃣ تبدیل JSON به PHP (Decode)

<?php $json = '{"name":"Sara","age":30,"city":"Shiraz"}'; // تبدیل JSON به Object $obj = json_decode($json); echo $obj->name; // Sara // تبدیل JSON به Array $arr = json_decode($json, true); echo $arr["city"]; // Shiraz ?>

4️⃣ JSON Pretty Print (خروجی خواناتر)

<?php $person = [ "name" => "Ali", "age" => 25, "city" => "Tehran" ]; echo json_encode($person, JSON_PRETTY_PRINT); ?>

📌 خروجی زیبا:

{ "name": "Ali", "age": 25, "city": "Tehran" }

5️⃣ کار با کاراکترهای فارسی (جلوگیری از یونیکد شدن)

<?php $data = [ "name" => "رضا", "city" => "اصفهان" ]; echo json_encode($data, JSON_UNESCAPED_UNICODE); ?>

📌 خروجی:

{"name":"رضا","city":"اصفهان"}

6️⃣ ترکیب چند گزینه در json_encode

<?php $data = [ "title" => "کتاب", "price" => 150000 ]; echo json_encode($data, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT); ?>

📌 خروجی:

{ "title": "کتاب", "price": 150000 }

جمع‌بندی:

  • json_encode() → PHP Array/Object ➝ JSON

  • json_decode() → JSON ➝ PHP Object/Array

  • آپشن‌هایی مثل JSON_PRETTY_PRINT و JSON_UNESCAPED_UNICODE برای خروجی بهتر