41 подписчик
Чем юнитевский JsonUtility отличается от Newtonsoft сериализатора данных в JSON строку
JSON строка - отличный формат для хранения данных и настроек, и Unity имеет на борту стандартную приблуду в виде сериализатора данных JsonUtility. Но ведь есть и альтернатива от Newtonsoft, которой также часто пользуются. В чем их отличия, и что лучше использовать?
JsonUtility - это облегченный и адаптированный для Unity вариант сериализатора данных, отсюда и все вытекающие:
1️⃣ JsonUtility быстрее и легче за счет урезанного функционала
2️⃣ JsonUtility может сериализовать Unity структуры вроде Vector, Quaternion, Color, а Newtonsoft не может
3️⃣ Зато Newtonsoft может сериализовать сущности помощнее вроде Dictionary, а JsonUtility не может
4️⃣ Для сериализации в Unity обязательно нужны публичные поля в классе, помеченном атрибутом Serializable, в Newtonsoft более тонкая настройка, где можно указать, какие свойства сериализовать, а какие нет
5️⃣ Также в Newtonsoft можно подменить имя сущности в JSON строке, что может сократить объем хранимых данных или сделать их менее читабельными для пользователя
В общем, если вы задумывались (вдруг) о том, стоит ли перейти с JsonUtility на Newtonsoft сериализатор (как я в свое время), то вот вам список выше, почему этого лучше не делать. Решение от Newtonsoft оочень редкая биба и нужна только для оочень больших проектов, и то, зачастую там сохранения на сервере в базе данных.
Всем пис!
#полезное
1 минута
29 августа 2024