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'],
];
?>