【问题标题】:Serialize Array of Vector2 with Json.NET使用 Json.NET 序列化 Vector2 数组
【发布时间】:2015-02-06 15:38:51
【问题描述】:

我正在尝试在 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.Vector2Converter[]

大家有什么建议吗?

【问题讨论】:

    标签: arrays unity3d json.net


    【解决方案1】:

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

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

    如果您的转换器旨在序列化数组中的各个项目,则需要改用以下语法:

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

    【讨论】:

    • 感谢布赖恩的帮助
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-30
    • 2013-08-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多