10.08.2026
BusEngine.dll
BusEngine.Tools.Json (Class)
Класс отвечающий за конвертацию object содержащие различные типы данных в строку формата JSON и обратно - сериализация и десериализация.
Сериализация и десериализация необходима, чтобы не париться с многочисленными вариантами типов данных, а приводить их к одному стилю, где уже с лёгкостью сможете обрабатывать и настраивать условия их обработки.
В основе BusEngine.Tools.Json лежит библиотека собственной разработки (с v0.4.2.0), что в 30-40 раз быстрее Json.NET от NewTonSoft и стандартных преобразователей от Microsoft. Данные по умолчанию конвертируются в "System.Collections.Generic.Dictionary" с добавлением обработки типов "System.Type". Рекомендуется использовать "BusEngine.Setting" вместо любых словарей в угоду удобства для скорости разработки приложений.
Методы
(string)BusEngine.Tools.Json.Encode(object|BusEngine.Setting|IDictionary|IList|System.Type) |
Метод (статический) уровня класса принимает object|BusEngine.Setting|IDictionary|IList|System.Type данные для конвертации в строку JSON формат. |
Метод (статический) уровня класса принимает string строку JSON для конвертации в Dictionary |
Метод (статический) уровня класса принимает тип данных словарей (BusEngine.Setting|System.Collections.IDictionary) и string строку JSON для конвертации в указанный тип данных словаря (BusEngine.Setting|System.Collections.IDictionary)() формат. |
Подклассы
Константы
Поля
Свойства
События
Пример файла Program.cs
В коде отражено конвертирование объекта в json и обратно при старте своего плагина с названием "MyPlugin".
- /** API BusEngine.Game - пользовательский код */
- namespace BusEngine.Game {
- /** API BusEngine.Plugin */
- public class MyPlugin : BusEngine.Plugin {
- internal class ProjectSettingDefault {
- public static object content;
- public ProjectSettingDefault() {
- name = "BusEngine",
- Any = "",
- Android = "",
- Win = "",
- Win_x64 = "",
- Win_x86 = "",
- },
- },
- };
- }
- }
- // при запуске BusEngine до создания формы
- public override void Initialize() {
- BusEngine.Log.Info(BusEngine.Tools.Json.Decode(BusEngine.Tools.Json.Encode(new ProjectSettingDefault())));
- }
- }
- /** API BusEngine.Plugin */
- }
- /** API BusEngine.Game - пользовательский код */