Храним все данные на сервере и получаем их в нужный момент.
Недавно мы делали собственные менеджер задач, потом текстовый редактор и страницу с шаблонами ответов на письма. Они отлично работают, но только в пределах одного браузера. Все они хранили данные либо внутри самого документа, либо в отсеке Localstorage — это специальная память браузера, которая привязана к конкретной странице. Данные — это наши тексты, шаблоны, задачи, то есть всё то полезное, ради чего мы эти программы заводили.
❌ Проблема: эти данные неудобно хранить. Если они в документе, их нужно вписывать туда вручную через редактор кода. А если данные в LocalStorage, то мы уже не можем сменить браузер или зайти с мобилки — данные не будут доступны.
✅ Чтобы решить эту проблему, разработчики придумали специальный формат передачи данных на сервер и обратно — JSON (JavaScript Object Notation). Можно перевести как «способ записи объектов в JavaScript». Формат оказался настолько удобен, что его стали поддерживать практически все популярные языки программирования.
Формат JSON и синтаксис JSON, NBT и NBT пути | Майнкрафт изнутри
Как устроен этот формат
Допустим, у нас есть магазин с системой бонусов, которые начисляются по скидочной карте. Когда продавец считывает карту, он должен получить от сервера такие данные:
- имя,
- фамилию,
- телефон,
- город,
- возраст,
- количество бонусных баллов,
- три предыдущие покупки (чтобы порекомендовать к ним что-то подходящее).
А теперь посмотрите на JSON-ответ, который получит продавец после считывания карты:
Общее правило такое: сначала всегда идёт название какого-то поля, а через двоеточие — его значение. Названия всегда берутся в двойные кавычки, строковые значения — тоже.
- вложенные объекты берутся в фигурные скобки;
- массивы берутся в прямоугольные скобки;
- после каждой пары «свойство: значение» должна стоять запятая (в самом конце — не ставится).
Так как JSON — универсальный формат передачи данных, то он может работать только с теми данными, которые есть в большинстве языков:
- строки — тоже, как и названия, берутся в двойные кавычки;
- числа, можно дробные;
- логические значения true или false; массивы или объекты.
То, что не входит в этот список, JSON не обработает и не выдаст сообщение об ошибке, потому что JSON — это просто формат данных и за его правильностью должен следить программист.
Как работать с JSON в JavaScript
Для работы с этим форматом в JavaScript есть две специальные команды:
- JSON.stringify() — переводит объект в JSON-строку, которую можно отправить на сервер;
- JSON.parse() — наоборот, разбирает JSON-данные на составляющие и отправляет их в нужные переменные или объекты.
Попробуем сделать то же самое, о чём мы говорили в примере про продавца, но на JavaScript. Чтобы было удобнее работать, мы заведём отдельный объект, где будем хранить все текущие параметры покупателя. После этого мы:
- заполним все данные в объекте вручную;
- переведём его в JSON;
- посмотрим, как выглядит результат;
- переведём JSON обратно в объект и убедимся, что всё прошло как нужно.
Сам код можно запустить в консоли браузера, чтобы увидеть результат работы программы.
Что дальше
Получите ИТ-профессию
В «Яндекс Практикуме» можно стать разработчиком, тестировщиком, аналитиком и менеджером цифровых продуктов. Первая часть обучения всегда бесплатная, чтобы попробовать и найти то, что вам по душе. Дальше — программы трудоустройства.
Источник: thecode.media
Entity JSON Documentation
Landing page containing all Entity JSON documentation for Minecraft: Bedrock Edition.
Getting Started with Entities
Get Started
- Entity JSON Introduction
- Spawn Rules and Data-Driven Spawning
AI Goals
Reference
- AI Goal List
- NEW! minecraft:behavior.jump_to_block
- NEW! minecraft:behavior.play_dead
- minecraft:behavior.nearest_attackable_target
Components
Reference
- Components List
- NEW! minecraft:combat_regeneration
- minecraft:addrider
- minecraft:admire_item
Filters
Reference
- Filters List
- clock_time
- distance_to_nearest_player
Properties
Reference
- Properties List
- minecraft:ambient_sound_interval
- minecraft:can_climb
Built-in Events
Reference
- Events List
- minecraft:entity_born
- minecraft:entity_spawned
- minecraft:entity_transformed
Triggers
Reference
- Trigger List
- minecraft:on_death
- minecraft:on_friendly_anger
- minecraft:on_hurt_by_player
References
Reference
- Entity Behavior List
- Entity JSON ID List
- Светлая
- Темная
- Высокая контрастность
- Светлая
- Темная
- Высокая контрастность
Источник: learn.microsoft.com
Формат JSON
JSON is JavaScript Object Notation, a «light-weight data-interchange format» that is «easy for humans to read and write» and «for machines to parse and generate». The Minecraft Wiki details the structure of text represented in JSON.
Например, текст «Hello World!», красным цветом и с подчеркиванием используя JSON, выглядит так:
«underlined»:true, «color»:»red», «text»:»Hello World!» >
Это может быть сделано в коде так:
import org.spongepowered.api.text.Text; import org.spongepowered.api.text.format.TextColors; import org.spongepowered.api.text.format.TextStyles; import org.spongepowered.api.text.serializer.TextSerializers; Text text = Text.of(TextColors.RED, TextStyles.UNDERLINE, «Hello World!»); String jsonText = TextSerializers.JSON.serialize(text);
Источник: docs.spongepowered.org