JSON Deserialization with an array of polymorphic objects

前端 未结 2 1117
长发绾君心
长发绾君心 2021-02-02 09:42

I\'m having a problem with JSON Deserialization involving an array of polymorphic objects. I\'ve tried the solutions for serialization documented here and here which work great

2条回答
  •  别跟我提以往
    2021-02-02 09:49

    Use this JsonKnownTypes, similar way to do that:

    [JsonConverter(typeof(JsonKnownTypeConverter))]
    [JsonKnownType(typeof(Base), "base")]
    [JsonKnownType(typeof(Derived), "derived")]
    public class Base
    {
        public string Name;
    }
    public class Derived : Base
    {
        public string Something;
    }
    

    Now when you serialize object in json will be add "$type" with "base" and "derived" value and it will be use for deserialize

    Serialized list example:

    [
        {"Name":"some name", "$type":"base"},
        {"Name":"some name", "Something":"something", "$type":"derived"}
    ]
    

提交回复
热议问题