<MyRusakov.ru />

Программирование на C++ с Нуля до Гуру

Программирование на C++ с Нуля до Гуру

Данный курс научит Вас программировать на языке C++, который, несмотря на свой почтенный возраст, необычайно сильно востребован. Курс состоит из 6 разделов, посмотрев которые и выполнив все упражнения, Вы с нуля освоите этот язык и сможете создавать самые разные проекты любой сложности на C++.

Для закрепления материала из уроков к ним идёт множество упражнений.

Дополнительно к курсу идёт вспомогательная система, которая не даст Вам забросить начатое на полпути.

Также вместе с курсов Вы получаете Бонус "Программирование на C++ в Unreal Engine", в котором Вы научитесь создавать игры на C++ с использованием этого движка.

Подробнее
Подписка

Подпишитесь на мой канал на YouTube, где я регулярно публикую новые видео.

YouTube Подписаться

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Зачем Вы изучаете программирование/создание сайтов?

JSON формат передачи данных

JSON формат передачи данных

JSON (JavaScript Object Notation) является текстовым форматом обмена данных. На самом деле он используется не только для передачи, но и для хранения данных. Наверняка вы уже видели файлы с настройками в формате JSON. Изначально формат данных JSON появился в JavaScript, однако сейчас он используется любым языком программирования. Формат JSON состоит из набора пар: ключ, значение, ничего нет проще такой записи данных. Главным правилом будет то, что все строки (объекты, массивы, логические значения) обязательно должны быть в двойных кавычках.

Объект преобразовать в JSON

Допустим у меня есть объект client, который нужно передать в базу данных на сервере. В таком виде, данный объект сервер не примет, нужны какие-то предварительные преобразования.

const client {
    name: 'Anton',
    age: '35'
};

Все современные браузеры имеют встроенные объекты JSON для работы с этими данными. В этом встроенном объекте есть свойства и методы, как и положено для всех объектов без исключения. Один из двух методов называется stringify, который как раз и превращает объекты JavaScript в нужный нам формат. Подготовим данные клиента в нужный нам формат, прежде чем передать их на сервер. Обратимся к встроенным браузерным методам JSON формата. Передадим методу stringify нашего клиента, то есть объект client.

console.log(JSON.stringify(client));
// объект преобразован в JSON {"name":"Anton","age":"35"}

Метод stringify сделал свою работу и преобразовал данные к нужной структуре для дальнейшей отправки на сервер. Все сущности оказались заключенными в двойные кавычки, поэтому главное правило для формата JSON, выполнено. Теперь такой формат уже может спокойно передаваться на сервер.

JSON преобразовать в объект

Рассмотрим обратную ситуацию, когда к нам с сервера приходят данные в JSON формате и нам необходимо их преобразовать в объект. Для этого существует метод parse. В результате всех действий, мы получили обратно самый обычный объект с данными в одинарных кавычках.

console.log(JSON.parse(JSON.stringify(client)));
// JSON преобразован в объект { name: 'Anton', age: '35' }

Чем JSON лучше XML?

Причиной популярности формата JSON является его маленький вес файла, а также простота чтения считывания данных. До появления JSON для передачи данных использовался формат XML, на мой взгляд этот формат слишком избыточен, посудите сами. После конвертации JSON в XML, наши данные окажутся обернутыми в парные теги. Согласитесь, но такая структура тяжело воспринимается на глаз, не удобная для чтения и самое главное, весит намного больше своего конкурента JSON. Все эти недостатки у XML особенно будут заметны на больших объемах данных.

<?xml version="1.0" encoding="UTF-8"?>
<root>
    <age>35</age>
    <name>Anton</name>
</root>

Глубокое копирование объектов

При помощи JSON можно создавать глубокие копии при копировании объектов. Добавим в объект client, вложенный объект residence с двумя свойствами.

const client = {
    name: 'Anton',
    age: '35',
    residence: {
        country: UK,
        city: London
    } };

Сделаем глубокую копию этого объекта при помощи конструкции JSON, которая превратит объект в формат JSON, а затем распарсит его обратно в JavaScript объект и поместит в переменную clone. Новая созданная копия будет совершенно независимой от первоначального объекта. Это значит, что все изменения в копии не затронут ее оригинала.

const clone = JSON.parse(JSON.stringify(client));

Давайте убедимся в этом на практике. Обратимся к ключу city и заменим название города.

clone.residence.city = 'Berlin';

Выведем в консоль оба объекта.

console.log(client);
console.log(clone);

И видим, что в оригинальном объекте client название города не изменилось.

{
    name: 'Anton',
    age: '35',
    residence: { country: 'UK', city: 'London' }
}

Зато в копии clone уже появилось новое название города.

{
    name: 'Anton',
    age: '35',
    residence: { country: 'UK', city: 'Berlin' }
}

Если бы мы создавали поверхностную копию (без вложенной структуры), тогда изменения в копии, затронули бы и оригинал. Манипуляции с JSON форматом позволяют создавать независимые копии объектов и работать с ними, при этом не затрагивая оригинальный объект.

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (0):

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.