استفاده از JSON در PHP
در این بخش چگونگی encoding و decoding اشیاء JSON در زبان برنامه نویسی PHP را بررسی خواهیم کرد. متدهای مربوط به جیسون از نسخه ۵٫۲٫۰ به بعد اضافه شده اند. بنابراین برای استفاده از آن ها باید نسخه ۵٫۲٫۰ یا نسخه های جدیدتر این زبان را نصب کنید.
توابع JSON
تابع | توضیحات |
json_encode |
نمایش JSON یک مقدار را باز می گرداند. |
json_decode |
یک رشته جیسون را Decode می کند. |
json_last_error |
آخرین خطایی که رخ داده است را باز میگرداند. |
Encode کردن JSON در PHP
تابع json_encode در زبان برنامه نویسی PHP برای encode کردن مقادیر جیسون مورد استفاده قرار می گیرد. اگر خطایی رخ دهد مقدار false باز میگرداند. در زیر می توانید سینتکس مربوط به این تابع را مشاهده کنید:
string json_encode ( $value [, $options = 0 ] )
پارامترها
- value: مقداری که باید encode شود. این تابع فقط با UTF-8 کار می کند.
- options: این پارامتر اختیاری است و می توانید یکی از مقادیر (JSON_HEX_QUOT ، JSON_HEX_TAG ، JSON_HEX_AMP ، JSON_HEX_APOS ، JSON_NUMERIC_CHECK ، JSON_PRETTY_PRINT ، JSON_UNESCAPED_SLASHES ، JSON_FOR) را بپذیرد.
مثال
مثال زیر نحوه تبدیل یک آرایه به JSON را نشان می دهد:
<?php $arr = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5); echo json_encode($arr); ?>
امتحان کنید
خروجی کد فوق:
{"a":1,"b":2,"c":3,"d":4,"e":5}
مثال زیر نحوه تبدیل یک شیء PHP به JSON را نشان می دهد:
<?php class Emp { public $name = ""; public $hobbies = ""; public $birthdate = ""; } $e = new Emp(); $e->name = "sachin"; $e->hobbies = "sports"; $e->birthdate = date('m/d/Y h:i:s a', "8/5/1974 12:20:03 p"); $e->birthdate = date('m/d/Y h:i:s a', strtotime("8/5/1974 12:20:03")); echo json_encode($e); ?>
امتحان کنید
خروجی کد فوق:
{"name":"sachin","hobbies":"sports","birthdate":"08\/05\/1974 12:20:03 pm"}
Decode کردن JSON
تابع json_decode در زبان برنامه نویسی PHP برای decode کردن مقادیر جیسون مورد استفاده قرار می گیرد. در زیر می توانید سینتکس مربوط به این تابع را مشاهده کنید:
mixed json_decode ($json [,$assoc = false [, $depth = 512 [, $options = 0 ]]])
پارامترها
- json_string: مقدار JSON که قبلا encode شده است.
- assoc: یک مقدار boolean است و اگر true باشد، مقدار بازگشتی از تابع به صورت آرایه انجمنی خواهد بود.
- depth: از نوع عدد صحیح است و عمق recursion را مشخص می کند.
- options: از نوع عدد صحیح است و از JSON_BIGINT_AS_STRING پشتیبانی می کند.
مثال
مثال زیر نحوه Decode کردن مقادیر جیسون را نشان می دهد:
<?php $json = '{"a":1,"b":2,"c":3,"d":4,"e":5}'; var_dump(json_decode($json)); var_dump(json_decode($json, true)); ?>
امتحان کنید
خروجی مثال:
object(stdClass)#1 (5) { ["a"] => int(1) ["b"] => int(2) ["c"] => int(3) ["d"] => int(4) ["e"] => int(5) } array(5) { ["a"] => int(1) ["b"] => int(2) ["c"] => int(3) ["d"] => int(4) ["e"] => int(5) }
نوشته استفاده از JSON در PHP – آموزش JSON اولین بار در سورس سرا - آموزش برنامه نویسی. پدیدار شد.