首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用JSON.Net保持继承的类类型

使用JSON.Net保持继承的类类型
EN

Stack Overflow用户
提问于 2019-12-04 23:06:17
回答 1查看 208关注 0票数 2

我正在使用JSON.Net来序列化一组数据,这样理论上我就可以对项目进行外部处理。结构如下:

区域

  • 名字
  • 位置
  • POI

POI

  • 名字
  • 位置

城镇: POI

  • 人口

等。

我最初使用JSON.Net序列化数据,只需调用JsonConvert.Serialise(myZoneArray)。这起作用,并给我一个适当的json字符串,我复制到文件。

然后,我反序列化了它,这也成功了。但是,当我在任何一个POI上调用return this.GetType()时,它们都返回基本POI类。因此,当我序列化和反序列化对象继承时,我认为它正在丢失。

对此是否有任何现有的解决办法?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-12-05 00:00:35

您可以通过为写入和读取步骤传入一个JsonSerializerSettings值来进行告诉Json.Net写入和读取类型信息

代码语言:javascript
复制
static JsonSerializerSettings withTypes= new JsonSerializerSettings
{
  TypeNameHandling = TypeNameHandling.All
};

var serialized = JsonConvert.SerializeObject(myZoneArray, withTypes);

Console.WriteLine(serialized);

var result= JsonConvert.DeserializeObject<Zone[]>(serialized,withTypes);
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59185866

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档