Public classes


Scripts/

   JArray
   JBoolean
   JNull
   JNumber
   JSON
   JString
   JValue

Scripts/Attributes/

      ExcludeFromJSONSerializeAttribute
      IncludeToJSONSerializeAttribute

Scripts/Exceptions/

      DeserializeException
      JArgumentException
      JArgumentNullException
      JArrayIndexOutOfRangeException
      JNumberFormatException
      JNumberOverflowException
      JSONKeyAlreadyExistsException
      JSONKeyNotFoundException
      JValueNullException
      JValueTypeException
      ParseException
      ProtectedException
      SerializeException
      UnknownObjectTypeException

Scripts/Settings/

      CreateStringSettings
      DeserializeSettings
      ParseStringSettings
      SerializeSettings


Introduction page

SerializeSettings


Settings for serialization.


Properties

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

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.

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

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

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