PHP – جیسون (Json)
PHP و JSON
JSON (JavaScript Object Notation) یک فرمت سبک برای تبادل دادهها است که هم برای انسانها قابل خواندن و نوشتن و هم برای ماشینها قابل پردازش و تولید است. این فرمت معمولاً برای ارسال دادهها بین سرور و اپلیکیشن وب به عنوان متن استفاده میشود.
PHP توابع داخلی برای کار با دادههای JSON فراهم میآورد که استفاده از آنها برای رمزگذاری (encode) و رمزگشایی (decode) دادههای JSON را ساده میکند.
توابع کلیدی
json_encode()
تابع json_encode()
برای تبدیل یک متغیر PHP به یک رشته با فرمت JSON استفاده میشود. این تابع زمانی که نیاز به ارسال داده از PHP به کلاینت جاوااسکریپت یا ذخیره آن در یک فایل JSON دارید، مفید است.
مثال: رمزگذاری یک آرایه انجمنی
<?php
$age = array("Peter" => 35, "Ben" => 37, "Joe" => 43);
echo json_encode($age);
?>
خروجی:
{"Peter":35,"Ben":37,"Joe":43}
مثال: رمزگذاری یک آرایه ایندکسی
<?php
$cars = array("Volvo", "BMW", "Toyota");
echo json_encode($cars);
?>
خروجی:
["Volvo","BMW","Toyota"]
json_decode()
تابع json_decode()
برای تبدیل یک رشته با فرمت JSON به یک متغیر PHP استفاده میشود. به طور پیشفرض، دادههای JSON به یک شیء PHP تبدیل میشود. همچنین میتوانید با قرار دادن true
به عنوان پارامتر دوم، دادهها را به یک آرایه انجمنی تبدیل کنید.
مثال: رمزگشایی دادههای JSON به شیء PHP
<?php
$jsonobj = '{"Peter":35,"Ben":37,"Joe":43}';
var_dump(json_decode($jsonobj));
?>
مثال: رمزگشایی دادههای JSON به آرایه انجمنی PHP
<?php
$jsonobj = '{"Peter":35,"Ben":37,"Joe":43}';
var_dump(json_decode($jsonobj, true));
?>
دسترسی به مقادیر رمزگشایی شده
شما میتوانید مقادیر رمزگشایی شده را از شیء PHP یا آرایه انجمنی به روشهای زیر دسترسی پیدا کنید:
مثال: دسترسی به مقادیر از یک شیء PHP
<?php
$jsonobj = '{"Peter":35,"Ben":37,"Joe":43}';
$obj = json_decode($jsonobj);
echo $obj->Peter;
echo $obj->Ben;
echo $obj->Joe;
?>
مثال: دسترسی به مقادیر از یک آرایه انجمنی PHP
<?php
$jsonobj = '{"Peter":35,"Ben":37,"Joe":43}';
$arr = json_decode($jsonobj, true);
echo $arr["Peter"];
echo $arr["Ben"];
echo $arr["Joe"];
?>
پیمایش مقادیر با استفاده از حلقه foreach
شما میتوانید با استفاده از حلقه foreach()
به مقادیر پیمایش کنید:
مثال: پیمایش مقادیر از یک شیء PHP
<?php
$jsonobj = '{"Peter":35,"Ben":37,"Joe":43}';
$obj = json_decode($jsonobj);
foreach($obj as $key => $value) {
echo $key . " => " . $value . "<br>";
}
?>
مثال: پیمایش مقادیر از یک آرایه انجمنی PHP
<?php
$jsonobj = '{"Peter":35,"Ben":37,"Joe":43}';
$arr = json_decode($jsonobj, true);
foreach($arr as $key => $value) {
echo $key . " => " . $value . "<br>";
}
?>
برای ارسال نظر لطفا ابتدا وارد حساب کاربری خود شوید. صفحه ورود و ثبت نام