JSON

Материал из PetruCHIO - Mindustry server
Перейти к навигации Перейти к поиску

Сейчас вы узнаете, что такое .json файл в моде на миндастри и почему у вас ничего не получается

Общие положения

JSON — Язык хранения данных, используется в JavaScript, но из-за своей простоты и удобства стал применяться в прочих языках программирования для хранения данных. Чтобы редактировать JSON, вы должны просто примерно понимать его синтаксис — этого будет достаточно, чтобы освоиться.

Терминология и синтаксис

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

Синтаксис

В кавычках находится наименование ячейки данных, потом после : идёт само значение этих данных. Кавычки, кстати, используются для текста (или как правильно это называть — строки). Если в объекте несколько ячеек данных — перечислите их через запятую:

{
	"amount": 10,
	"height": 12
}

В данном случае мы видим несколько ячеек данных в одном объекте. Фигурные скобки { } здесь для того, чтобы ограничить данные, дать понять, что тут объект закончился, а немногим выше он начался.
Данные как в JSON, так и в языках программирования довольно строго типизированы, поэтому при использовании не того типа данных можно получить ошибку и вылет исходной программы. Будьте с типами осторожнее! О собственно типах - ниже

Типы

Числовой целый

Англоязычное название — Integer или Longint.
Данный тип данных является целым числом (целое — это когда после точки ничего нет — никаких десятичных частей) и описывается так:

{
	"amount": 10
}

Строковый

Англоязычное название — String.
Строковый тип данных хранит в себе некоторую строку (как было нетрудно догадаться). Строка, как написано немногим выше, это всего лишь последовательность каких-то символов — это могут быть буквы, цифры, знаки препинания, любые другие символы, доступные для ввода или копирования/вставки. Записывается он в кавычках, чтобы символы из строки случайно не считались как служебные символы языка (например, упомянутые { })

{
	"description": "Read rules, pls"
}

Числовой вещественный

Англоязычное название — Float.
Числовой вещественный тип данных — это тип, представляющий из себя число с десятичной дробью. Возможно вы знаете из школьного курса, что записывать дробную часть надо через , — нет, тут работает иное правило. Записывайте дробную часть через точку.

{
	"power": 6.2
}

Объект

Англоязычное название — Object.
Интересный тип данных, представляющий из себя ещё один набор данных. Это можно сравнить с папкой на компьютере — внутри главной папки лежит ещё одна. Записывается примерно так:

{
	"consumes": {
		"power": 1.4,
		"item": "copper"
	}
	"size": 2,
	"name": "Turbocannon"
}

Рассмотрим повнимательнее этот кусок. Есть ячейка consumes, но представляет она из себя ещё один набор данных, прямо как основной, корневой объект. Внутри неё, в её { } находится набор данных. Этот набор данных не имеет отношения к основному набору данных.

Массив объектов

Англоязычное название — Array.
Ещё один тип, который мы может увидеть при работе с JSON — это массив объектов. Он из себя представляет перечень объектов, таких же, которые мы наблюдали в примере выше. Записывается он в [ ]. Использовать такое можно для самых разных целей — например для перечисления. Пример использования:

{
	"requirements": [
		{ 
			"item": "silicon", "amount": 60 
		},
		{ 
			"item": "copper", "amount": 130 
		}
	]
}

Тут мы видим некий requirements, который содержит в себе перечисление нескольких объектов. Заметьте — именно перечисление объектов! Вы уже могли прикинуть, что тоже самое можно сделать, используя тип «объект» внутри другого объекта. Но тут мы видим, что нет никаких данных — просто перечисление объектов. На то он и массив.