JSON (JavaScript Object Notation) — это легковесный формат обмена данными, основанный на синтаксисе JavaScript. JSON является языконезависимым и часто используется для обмена данными между клиентом и сервером, а также для хранения конфигурационных файлов.
JSON представляет собой текстовую строку, которая состоит из пар ключ-значение и может быть легко читаема человеком. В основном, в JSON используются следующие типы данных:
- Объекты: представлены в фигурных скобках {} и содержат пары ключ-значение, разделенные запятыми.
- Массивы: представлены в квадратных скобках [] и содержат значения, разделенные запятыми.
- Строки: заключены в двойные кавычки.
- Числа: могут быть целыми или дробными.
- Логические значения: true или false.
- null: означает отсутствие значения.
Пример использования JSON в JavaScript:
// Пример JSON-объекта
var jsonString = `{
"name": "Иван",
"age": 30,
"hobbies": ["плавание", "путешествия"],
"family": {
"spouse": "Елена",
"children": ["Анна", "Михаил"]
},
"employed": true
}`;
// Преобразование JSON-строки в JavaScript-объект
var jsonObject = JSON.parse( jsonString );
// Получение значения из JSON-объекта
console.log( jsonObject.name );
// > "Иван"
// Изменение значения в JSON-объекте
jsonObject.employed = false;
// Преобразование JavaScript-объекта обратно в JSON-строку
var jsonStringUpdated = JSON.stringify(jsonObject);
Пример использования JSON в PHP:
// Пример JSON-строки
$jsonString = '{
"name": "Иван",
"age": 30,
"hobbies": ["плавание", "путешествия"],
"family": {
"spouse": "Елена",
"children": ["Анна", "Михаил"]
},
"employed": true
}';
// Преобразование JSON-строки в массив PHP
// Второй параметр associative - если true, то объекты JSON будут возвращены как ассоциативные массивы; если false, то объекты JSON будут возвращены как объекты (object). Если null, объекты JSON будут возвращены в зависимости от того, установлена ли JSON_OBJECT_AS_ARRAY в параметре flags
$jsonArray = json_decode( $jsonString, true );
// Получение значения из массива PHP
echo $jsonArray['name'];
// > "Иван"
// Изменение значения в массиве PHP
$jsonArray['employed'] = false;
// Преобразование массива PHP обратно в JSON-строку
// JSON_UNESCAPED_UNICODE — это константа-опция, которая отвечает за то, чтобы при кодировании строки в JSON формат, символы Unicode (например, кириллические символы) сохранялись в виде исходных символов, а не их закодированного представления. Без использования JSON_UNESCAPED_UNICODE, при кодировании строки в JSON, символы Unicode будут преобразованы в экранированный формат с использованием кодов символов Unicode. Например, буква "а" (кириллица) будет представлена как \u0430.
$jsonStringUpdated = json_encode( $jsonArray, JSON_UNESCAPED_UNICODE );
Комментарии
0Нашли ошибку или хотите дополнить материал?