3 回答

TA貢獻1812條經(jīng)驗 獲得超5個贊
你需要:
JsonSerializerSettings settings = new JsonSerializerSettings
{
TypeNameHandling = TypeNameHandling.All
};
string strJson = JsonConvert.SerializeObject(instance, settings);
所以JSON看起來像這樣:
{
"$type": "System.Collections.Generic.List`1[[MyAssembly.BaseClass, MyAssembly]], mscorlib",
"$values": [
{
"$id": "1",
"$type": "MyAssembly.ClassA, MyAssembly",
"Email": "me@here.com",
},
{
"$id": "2",
"$type": "MyAssembly.ClassB, MyAssembly",
"Email": "me@here.com",
}
]
}
然后您可以反序列化它:
BaseClass obj = JsonConvert.DeserializeObject<BaseClass>(strJson, settings)

TA貢獻2051條經(jīng)驗 獲得超10個贊
反序列化時使用以下JsonSerializerSettings構(gòu)造:
new JsonSerializerSettings()
{
TypeNameHandling = TypeNameHandling.Objects
})
- 3 回答
- 0 關(guān)注
- 724 瀏覽
添加回答
舉報