4
public abstract class A {
public string Foo{ get; set; }
}
public class B : A {
public string Marco{ get; set; }
}
public class C : A {
public string Las{ get; set; }
}
public class D : A {
public string Las{ get; set; }
}
public class SerializeMe {
[XmlElement("b", typeof(B))]
[XmlElement("c", typeof(C))]
[XmlElement("d", typeof(D))]
public A[] serializeProp { get; set; }
}
SerializeMe me = new SerializeMe();
me.serializeProp = new A[]{
new B(){ Foo = "bar", Marco = "polo" },
new C(){ Foo = "bar", Las = "Vegas" },
new D(){ Foo = "bar", Las = "Vegas" }
};
XMLELEMENT 그래서이 결과 제어 XML 직렬화 속성역 직렬화 모호한 JSON은
{[
{"Foo":"bar", "Marco":"polo"},
{"Foo":"bar", "Las":"Vegas"},
{"Foo":"bar", "Las":"Vegas"}
]}
그러나 xml과 달리 형식에 대한 세부 정보가 포함되어 있지 않으므로 deserialize 할 클래스를 올바르게 식별 할 수 있습니다. 기존 json 구조를 사용하여 올바르게 deserialize하는 방법이 있습니까? 아니면 json 구조를 수정해야합니까?
{[
{"class":"B",
"object":{"Foo":"bar", "Marco":"polo"}},
{"class":"C",
"object":{"Foo":"bar", "Las":"Vegas"}},
{"class":"D",
"object":{"Foo":"bar", "Las":"Vegas"}}
]}
더 나은 방법이 있나요 : 그것은 다음과 같은 형식을 생산하도록
나는 직렬화를 무시 생각?