JSON در PHP

تبدیل داده‌ها به JSON و برعکس با json_encode و json_decode — قلب API‌های مدرن

JSON چیست؟

JSON (JavaScript Object Notation) فرمت استاندارد برای تبدیل داده‌ها بین سرور و کلاینت است. تقریباً تمام API‌های مدرن از JSON استفاده می‌کنند.

تبدیل به JSON — json_encode()

برای تبدیل آرایه یا شیء PHP به JSON:

<?php
$data = [
    "name" => "علی",
    "age" => 25,
    "city" => "تهران"
];

$json = json_encode($data);
echo $json;
// {"name":"علی","age":25,"city":"تهران"}
?>

JSON خوانا (Pretty Print)

<?php
$json = json_encode($data, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE);
?>
JSON_UNESCAPED_UNICODE برای نمایش درست حروف فارسی ضروری است!

تبدیل از JSON — json_decode()

برای تبدیل JSON به آرایه یا شیء PHP:

<?php
$json = '{"name":"علی","age":25}';

// تبدیل به آرایه
$array = json_decode($json, true);
echo $array["name"];  // علی

// تبدیل به شیء
$obj = json_decode($json);
echo $obj->name;  // علی
?>

پارامتر دوم json_decode

مقدارنتیجه
trueآرایه انجمنی
false (پیش‌فرض)شیء (stdClass)

مدیریت خطا — json_last_error()

<?php
$data = json_decode($invalidJson, true);

if (json_last_error() !== JSON_ERROR_NONE) {
    echo "JSON نامعتبر!";
}
?>

مثال کاربردی — API ساده

<?php
// داده‌های کاربران
$users = [
    ["id" => 1, "name" => "علی", "email" => "ali@test.com"],
    ["id" => 2, "name" => "مریم", "email" => "mary@test.com"]
];

// ارسال به‌عنوان JSON
header("Content-Type: application/json");
echo json_encode($users, JSON_UNESCAPED_UNICODE);
?>

این مبحث بخشی از دوره آموزش کامل PHP است.

ابزارهای مرتبط