1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/Foldcc-FJson

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
readme.md 3.2 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 15.03.2025 15:01 51d1954

Fjson

Fjson — это набор высокоэффективных библиотек для работы с JSON, которые позволяют легко сериализовать и десериализовать объекты без необходимости следования специальным правилам записи.

Недостатки: низкая производительность, что делает его непригодным для обработки больших объемов данных.

Сериализация

FJsonUtility.ToJson(object obj)

Fjson поддерживает сериализацию большинства часто используемых типов, таких как списки, массивы, пары ключ-значение, словари, пользовательские объекты и структуры.

Пример сериализации 1

Vector3 pos = new Vector3(100, 1.5f, -50);

string json = FJsonUtility.ToJson(pos);

Пример сериализации 2

List<object> listObj = new List<object>(new object[] { null, 1, false, "тест" });

string json = FJsonUtility.ToJson(listObj);

Десериализация

FJsonUtility.ToObject<T>(string json)

Fjson позволяет прямую десериализацию JSON в список, массив, пару ключ-значение, словарь, пользовательский объект и структуру.

Пример десериализации 1

Dictionary<string, object> jsonObject = FJsonUtility.ToObject<Dictionary<string, object>>(json);
  • Примечание: если цель десериализации является Object, то значение будет автоматически преобразовано в JsonObject или JsonArray.

Преобразование объектов

FJsonUtility.Convert<T>(object value)

Fjson поддерживает преобразование между структурами, списками, массивами и словарями. Например, можно преобразовать Dictionary<string, object> в пользовательский объект или Array в List.Если поле x объекта имеет тип float, а поле x в цели преобразования имеет тип string или int, то произойдет автоматическое преобразование типа.

Пример кода:

  1. Определение пользовательского типа
public class Person
{
    public string name;
    public double ID;
    private string info;
    public object[] infoList;

    public override string ToString()
    {
        return $"Имя: {this.name}, ID: {this.ID}";
    }
}
  1. Создание словаря и его преобразование в объект
Dictionary<string, object> dictObj = new Dictionary<string, object>();
dictObj.Add("name", "тест");
dictObj.Add("ID", 5321);
dictObj.Add("info", "тест info");
dictObj.Add("infoList", new object[]{1, -1, null});

Person person = FJsonUtility.Convert<Person>(dictObj);
Console.WriteLine(person);

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/Foldcc-FJson.git
git@api.gitlife.ru:oschina-mirror/Foldcc-FJson.git
oschina-mirror
Foldcc-FJson
Foldcc-FJson
master