<MyRusakov.ru />

Создание игр на Unreal Engine 4

Создание игр на Unreal Engine 4

Данный курс научит Вас созданию игр на Unreal Engine 4. Курс состоит из 12 модулей, в которых Вы с нуля освоите этот движок и сможете создавать самые разные игры.

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

Помимо самого курса Вас ждёт ещё 5 бесплатных ценных Бонусов: «Динамическая смена дня и ночи», «Создание динамической погоды», «Создание искусственного интеллекта для NPC», «Создание игры под мобильные устройства» и «Создание прототипа RPG с открытым миром».

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

Подписавшись по 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):

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