Μαθήματα λογισμικού και φόρουμ τεχνολογίας

Підручники з програмного забезпечення => Php => Μήνυμα ξεκίνησε από: Nihev στις Φεβ 05, 2025, 10:59 ΠΜ

Τίτλος: PHP: Як читати дані з JSON-файлу за допомогою file_get_contents
Αποστολή από: Nihev στις Φεβ 05, 2025, 10:59 ΠΜ
У цьому посібнику ми розглянемо, як у PHP можна легко читати дані з JSON-файлу за допомогою функції  file_get_contents. Цей метод є простим і ефективним для роботи з JSON-даними, які зберігаються у файлах. Ми також наведемо приклади коду та відповімо на поширені запитання.

Що таке JSON?
JSON (JavaScript Object Notation) — це легкий формат обміну даними, який легко читається як людьми, так і машинами. Він широко використовується для передачі даних між сервером і клієнтом, а також для зберігання конфігураційних даних.

Як читати JSON-файл у PHP?
У PHP існує кілька способів роботи з JSON-даними. Один із найпростіших методів — використання функції  file_get_contents для читання вмісту файлу та json_decode для перетворення JSON-рядка у масив або об'єкт.

Крок 1: Використання file_get_contents Функція file_get_contents дозволяє прочитати вміст файлу у вигляді рядка. Це ідеально підходить для читання JSON-файлів.


$json_data = file_get_contents('data.json');

Крок 2: Перетворення JSON у масив або об'єкт
Після отримання JSON-даних у вигляді рядка їх можна перетворити на масив або об'єкт за допомогою функції json_decode.


$data = json_decode($json_data, true); // true — повертає асоціативний масив

Якщо другий параметр
json_decode встановлений у
true, дані будуть перетворені на масив. Якщо ні — на об'єкт.

Приклад коду
Ось повний приклад читання JSON-файлу та роботи з даними:
<?php
// Шлях до JSON-файлу
$file_path 'data.json';

// Читання вмісту файлу
$json_data file_get_contents($file_path);

if (
$json_data === false) {
    die(
'Помилка: не вдалося прочитати файл.');
}

// Перетворення JSON у масив
$data json_decode($json_datatrue);

if (
$data === null) {
    die(
'Помилка: не вдалося декодувати JSON.');
}

// Виведення даних
echo '<pre>';
print_r($data);
echo 
'</pre>';
?>


Приклад JSON-файлу (data.json):

{
    "name": "Іван",
    "age": 30,
    "city": "Київ",
    "skills": ["PHP", "JavaScript", "HTML"]
}


Результат виконання коду:

Array
(
    [name] => Іван
    [age] => 30
    [city] => Київ
    [skills] => Array
        (       => PHP
            [1] => JavaScript
            [2] => HTML
        )
)


Поширені помилки та їх вирішення



FAQS
1. Чи можна читати JSON з URL за допомогою

file_get_contents?
Так,

file_get_contents підтримує читання даних з URL. Наприклад:
php
Copy

$json_data = file_get_contents('https://api.example.com/data.json');




2. Як обробити помилки під час читання JSON?
Використовуйте перевірку на

false для
file_get_contents та
null для
json_decode, як показано у прикладі вище.
3. Як зберегти дані у JSON-файл?
Для цього використовуйте функцію

file_put_contents у поєднанні з
json_encode:
php
Copy

$data = ['name' => 'Іван', 'age' => 30];
file_put_contents('data.json', json_encode($data));




4. Чи є альтернативи

file_get_contents для читання JSON?
Так, можна використовувати

cURL для складніших сценаріїв, наприклад, коли потрібно передавати заголовки або параметри запиту.
5. Як працювати з великими JSON-файлами?
Для великих файлів краще використовувати потокове читання або бібліотеки, такі як

JsonStreamingParser.