PHP да JSON формати
JSON маълумотларни сақлаш учун форматдир. Бу формат кўпинча сайтлар ўртасида, ёки сервер ва браузер ўртасида маълумот алмашиш учун ишлатилади. Бу формат XML га нисбатан анча ixcham ва содда, шунинг учун ҳозирда кенгрок ишлатилади.
JSON қисқартмаси JavaScript Object Notation ни англатади. Га́пи шундаки, аввал JSON JavaScript тилида яратилган, а́ммо ҳозир ҳамма жойда ишлатилади.
PHP нуқтаи назаридан JSON форматидаги маълумотлар сатр кўринишида булади:
<?php
$str = '
// бу ерда JSON булади
';
?>
Форматининг ўзи бир ҳил
кўп ўлчовли структура бу́либ, у
оддий ва ассоциатив массивлардан ташкил топган.
Массивлар элементлари сатрлар (албатта икки қо́ш қо́сқучда),
сонлар,
true, false
ёки null қийматлари бу́лиши мумкин.
Келтирилган мисолларга қарайлик. Сонлардан иборат массив ясайлик:
<?php
$str = '[1, 2, 3, 4, 5]';
?>
Сатрлардан иборат массив ясайлик:
<?php
$str = '["a", "b", "c"]';
?>
Aралаш мазмундан иборат массив ясайлик:
<?php
$str = '[1, "a", true, false, null]';
?>
Энди ассоциатив массив ясайлик. JavaScript терминларида бундай массивлар объектлар дейилади. Объектлар қирғқуч қавс ичига олинади, ва калитлар қийматлардан қос қосқуч билан ажратилади. Бундай массивларнинг калитлари sifatida сатрлар (албатта икки қо́ш қо́сқучда) хизмат қилиши керак. Объект мисолини ясайлик:
<?php
$str = '{
"a": 1,
"b": 2,
"c": 3
}';
?>
Массивлар ва объектларни ҳар қандай даражадаги чукирликдаги структураларда комбинациялаш мумкин:
<?php
$str = '{
"a": [1, 2, 3],
"b": [4, 5, 6]
}';
?>
Эътибор бўлсинки, oxirgi элементдан кейин қўйилган қо́сқучлар (висящие запятые) JSON форматида рухсат этилмайди:
<?php
$str = '[
"a",
"b",
"c",
]'; // oxirgi қо́сқуч ортиқча
?>
Куйидаги PHP структурасини JSON сатрига айлантиринг:
<?php
$data = [1, 2, 3];
?>
Куйидаги PHP структурасини JSON сатрига айлантиринг:
<?php
$data = ['x', 'y', 'z',];
?>
Куйидаги PHP структурасини JSON сатрига айлантиринг:
<?php
$data = [
'x' => 'a',
'y' => 'b',
'z' => 'c',
];
?>
Куйидаги PHP структурасини JSON сатрига айлантиринг:
<?php
$data = [
'ru' => ['1', '2', '3'],
'en' => ['a', 'b', 'c'],
];
?>