- Always include the .NET type name when serializing.
- Include the .NET type name when serializing into a JSON array structure.
- Include the .NET type name when the type of the object being serialized is not the same as its declared type. Note that this doesn't include the root serialized object by default. To include the root object's type name in JSON you must specify a root type object with SerializeObject(System.Object, System.Type, Newtonsoft.Json.JsonSerializerSettings) or Serialize(Newtonsoft.Json.JsonWriter, System.Object, System.Type).
- Do not include the .NET type name when serializing types.
- Include the .NET type name when serializing into a JSON object structure.