关键
调用LitJson自带的RegisterExporter和RegisterImporter进行序列化和反序列化,调用前注册或全局注册到JsonMapper即可
代码:
public static class CustomJsonMapper
{
public static void Register()
{
// 注册自定义的EnumMapper
JsonMapper.RegisterExporter<Enum>((obj, writer) => writer.Write(Convert.ToInt32(obj)));
// 注册自定义的EnumImporter
JsonMapper.RegisterImporter<int, Enum>((intVal) => (Enum)Enum.ToObject(typeof(Enum), intVal));
// 注册自定义的Vector3IntMapper
JsonMapper.RegisterExporter<Vector3Int>((obj, writer) =>
{
writer.WriteObjectStart();
writer.WritePropertyName("x");
writer.Write(obj.x);
writer.WritePropertyName("y");
writer.Write(obj.y);
writer.WritePropertyName("z");