Формати JSON дар PHP
JSON форматест барои нигоҳ доштани маълумот. Ин формат аксар вақт барои мубодилаи маълумот байни сомонаҳо, ё байни сервер ва браузер истифода мешавад. Ин формат нисбат ба XML камтар ҷой гиранда ва содатар аст, аз ин рӯ дар вақти ҳозира аз он басо васеътар истифода мебаранд.
Ихтисораи 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"]';
?>
Массив бо мундариҷаи омехта созем:
<?php
$str = '[1, "a", true, false, null]';
?>
Ҳоло массивҳои ассотсиатсиявӣ созем. Дар истилоҳи JavaScript чунин массивҳо объектҳо номида мешаванд. Объектҳо дар қавсҳои каҷакӣ ҷой гирифтаанд, ва калидҳо аз қиматҳо бо дунуқта ҷудо карда мешаванд. Дар ин ҳол калидҳои чунин массивҳо бояд сатрҳои ҳатман дар қоутҳои дукабата бошанд. Мисоли объект созем:
<?php
$str = '{
"a": 1,
"b": 2,
"c": 3
}';
?>
Метавон массивҳо ва объектҳоро дар сохторҳои ҳама сатҳҳои фуромадагӣ муттаҳид кард:
<?php
$str = '{
"a": [1, 2, 3],
"b": [4, 5, 6]
}';
?>
Дар назар доред, ки вергулҳои озодмонда (ҳангома) пас аз охирин унсур дар формати JSON ғайриимкон аст:
<?php
$str = '[
"a",
"b",
"c",
]'; // вергули охирин зиёда аст
?>
Сохтори зерини 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'],
];
?>