SerializeSettings
Settings for serialization.
Properties
Properties
public bool AllowNonStringDictionaryKeys By default this is false. Meaning that if any dictionary is serialized to JSON object, source dictionary must be using string keys, like JSON itself is using.
If this is set false, dictionaries key type may be anything and serialization is just using ToString() to create key. In this case, make sure each dictionary key string representation is unique. Note that it may not be possible to deserialize resulting JSON back any more since converting plain string back to object is not possible.
TotalJSON still have extra support for int, long and enum type dictionary keys and they can be serialized and then deserialized back by using AllowNonStringDictionaryKeys both when serializing and deserializing. Value | False by default, set true to allow any dictionary keys. |
public bool IgnoreSystemAndUnitySerializeAttributes By default this is false. Meaning that serialization will check fields for UnityEngine.SerializeField and System.NonSerialized attributes and follow those.
In case these attributes are required for other uses but JSON serialization should not follow these attributes, you can set this setting to true and those attributes will be ignored during JSON serialization. You can still include/exclude single fields from serialization using TotalJSON's own IncludeToJSONSerialize and ExcludeFromJSONSerialize attributes which are always followed regardless of this setting. Value | False by default, set true to ignore non-json specific serialization attributes. |
public bool SerializeEnumsDirectlyToInts By default this is false. Enums are serialized as they appear for c# reflection.
For example, if there is class with enum like this:
public enum MyEnum { Zero, One, Two, Three } public MyEnum myField = MyEnym.Two;
then serialized data will be
myField:{"value__":2}
since internally c# enum field appears as class where field "value__" is current selection.
If this setting SerializeEnumsDirectlyToInts is set to true, serialization data in above case will be just integer value
myField:2
Value | False by default, set true to serialize enum values as plain integers. |
|