使用Json.NET序列化Vector2的数组



我正试图在Unity上使用Json.NET来序列化一个类
Polygon包含Vector2Array,但我只想序列化Vector2类的x和y变量,这就是我使用JsonConverter属性的原因。

样本类别:

public class Polygon
{
    public int count { get; set; }
    [JsonConverter(typeof(Vector2Converter[]))]
    public Vector2[] points { get; set; }
}

它在运行时给了我这个错误:

MissingMethodException:未找到方法:"未找到默认构造函数建立的ctor()JsonDotNet.Extras.CustomConverters.Vvector2Converter[]

有人有什么建议吗?

[JsonConverter]属性采用转换器的类型,而不是转换器数组的类型。如果您的转换器被设计为处理整个数组的序列化,那么您需要这样指定它:

    [JsonConverter(typeof(Vector2Converter))]
    public Vector2[] points { get; set; }

如果转换器被设计为序列化数组中的各个项,则需要使用以下语法:

    [JsonProperty(ItemConverterType=typeof(Vector2Converter))]
    public Vector2[] points { get; set; }

相关内容

  • 没有找到相关文章

最新更新