Как работать с JSON в PHP?

Пользователь

от autumn_parker , в категории: PHP , 2 года назад

Как работать с JSON в PHP?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от elda , 2 года назад

@autumn_parker 

JSON (JavaScript Object Notation) - это легкий формат данных, который используется для обмена данными между различными языками программирования. В PHP для работы с JSON следует использовать функции, предоставляемые встроенным модулем json.

  1. Декодирование JSON-строки


Для преобразования JSON-строки в объект или массив в PHP используется функция json_decode. Эта функция принимает два обязательных параметра:

  • строка с данными в формате JSON;
  • булево значение, которое определяет, следует ли возвращать результат в виде объекта (false) или массива (true).


Пример:


$json = '{"name": "John", "age": 30, "city": "New York"}'; $obj = json_decode($json); print_r($obj);


Результат:


stdClass Object ( [name] => John [age] => 30 [city] => New York )

  1. Кодирование объектов и массивов в JSON


Для преобразования объектов и массивов в JSON-строку в PHP ​​используется функция json_encode. Эта функция принимает один обязательный параметр - объект или массив, который нужно закодировать в JSON.


Пример:


$arr = array('name' => 'John', 'age' => 30, 'city' => 'New York'); $json = json_encode($arr); echo $json;


Результат:


{"name":"John","age":30,"city":"New York"}

  1. Доступ к значениям JSON-объекта или массива


Для получения доступа к данным в объекте или массиве, полученном из JSON-строки, в PHP ​​используйте оператор -> для доступа к свойствам объекта или квадратные скобки - для доступа к элементам массива.


Пример:


$json = '{"name": "John", "age": 30, "city": "New York"}'; $obj = json_decode($json); echo $obj->name; // John echo $obj->age; // 30 echo $obj->city; // New York

  1. Обработка ошибок при работе с JSON


В PHP ​​модуль json предоставляет две функции для обработки ошибок при работе с JSON:

  • json_last_error - возвращает код последней ошибки, возникшей при работе с JSON;
  • json_last_error_msg -возвращает описание последней ошибки, возникшей при работе с JSON.


Пример:


$json = '{"name: "John", "age": 30, "city": "New York"}'; $obj = json_decode($json); if(json_last_error() === JSON_ERROR_NONE) { echo "JSON-строка была успешно декодирована"; } else { echo 'Ошибка: ' . json_last_error_msg(); }


Результат:


Ошибка: Syntax error, malformed JSON.