Public classes









Introduction page


Settings for serialization.


public bool AllowNonStringDictionaryKeysBy default this is false.
public bool IgnoreSystemAndUnitySerializeAttributesBy default this is false.
public bool SerializeEnumsDirectlyToIntsBy default this is false.


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.

ValueFalse 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.

ValueFalse 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

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


ValueFalse by default, set true to serialize enum values as plain integers.