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()
<?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
$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>";
}
?>
برای ارسال نظر لطفا ابتدا وارد حساب کاربری خود شوید. صفحه ورود و ثبت نام