Array
Overview
This library supports serializing and deserializing Array value fields.
Any type that is supported can be serialized and deserialized as an array of that type.
NOTE: It is recommended to use List fields instead of Array fields, when possible.
Mixed Arrays
Arrays can contain mixed types as long as the array is defined as object[].
Each element in the array will be serialized as its own TOML value.
Jagged Arrays
Multidimensional arrays (ex: int[,]) are not supported.
Instead, use jagged arrays (ex: int[][]).
Serialization
Array values are serialized differently based on their element type.
- Scalar types are serialized as a TOML array.
- Mixed types are serialized as a TOML array.
- Complex types are serialized as a TOML table array.
- Jagged arrays serialized as a TOML array of arrays.
By default, TOML arrays are serialized as inline arrays. This can be changed by marking the field with the TomlMultilineAttribute.
Deserialization
Array values are deserialized from TOML as a TOML array or TOML table array.
Mixed arrays are supported, but must be defined as object[].
Example
[Serializable]
public class PlayerInventory
{
private string[] tags;
private Item[] _items;
}
Can be serialized and deserialized as the following TOML document:
tags = ["loot", "common"]
[[items]]
name = "Sword"
weight = 5.1
[[items]]
name = "Shield"
weight = 10.2