Храним все данные на сервере и получаем их в нужный момент.

Недавно мы делали собственные менеджер задач, потом текстовый редактор и страницу с шаблонами ответов на письма. Они отлично работают, но только в пределах одного браузера. Все они хранили данные либо внутри самого документа, либо в отсеке 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