Формат JSON
В предыдущей статье я упоминал о формате JSON, однако, многие не знают, что это такое. И в этой статье я решил заполнить этот пробел знаний у некоторых пользователей, так как про JSON надо знать любому, кто занимается Web-программированием.
Первым делом необходимо понять, что формат JSON - это формат для обмена данными в виде текста, понятному человеку. И ключевая особенность этого формата состоит в том, что он языконезависимый, поскольку современные языки (такие как PHP, JavaScript) его прекрасно понимают.
Формат JSON состоит всего из двух структур: ключ-значение и список.
Предлагаю разобрать пример строки в формате JSON:
{
"id":1,
"login":"Admin",
"passport": {
"s": 1522
"n": 392303
}
}
Ключи "id" и "login" - это структуры ключ-значение, тогда как "passport" - это список. Разумеется, уровень вложенности может быть больше и внутри списков могут быть другие списки. Аналогично, как могут быть двумерные, трёхмерные, n-мерные массивы.
Теперь давайте разберём, как преобразовать строку в формате JSON в наиболее удобные для использования структуры конкретно языка. Разберём это на примере PHP:
<?php
$json = '{"id":1,"login":"Admin","passport": {"s": 1522, "n": 392303}}';
$decode = json_decode($json, true);
print_r($decode);
echo json_encode($decode);
?>
В данном примере на входе была строка в формате JSON, которую мы затем преобразовали в ассоциативный массив с помощью функции json_decode(). Если в этой функции вместо true поставить false, то вместо ассоциативного массива будет возвращён Object.
Далее в этом примере мы преобразовали ассоциативный массив обратно в строку формата JSON с помощью функции json_encode() и вывели её. Я очень рекомендую запустить данный пример и посмотреть, как он работает.
Те, кто изучает Ajax знают, что для передачи данных там очень активно используется формат JSON, также в API очень часто возвращаются данные в этом же формате. В общем, ввиду универсальности этого формата и лёгкого использования в различных языках, формат JSON является очень популярным и очень часто используемым. Надеюсь, что я хорошо объяснил синтаксис и назначение формата JSON.
-
- Михаил Русаков
Комментарии (4):
я даже не мог и представить, что json так важно знать при работе с ajax))))
Ответить
У меня в базе данных лежит json строка. Как превратить её в массив (в php, разумеется)?
Ответить
s
Ответить
Михаил я хотел спросить если в json поместить массив вот так json_encode(array("log" => $log)); то как его вывести правильно через javascript подскажите ))
Ответить
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.