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