加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

.net – DataContractJsonSerializer何时包含类型信息?

发布时间:2020-12-16 19:48:44 所属栏目:百科 来源:网络整理
导读:我注意到,使用DataContractJsonSerializer,序列化的 JSON字符串有时包含形式的类型信息 {"__type":"MyClass:#MyNamespace",... } 基于我的观察,它似乎只在它序列化基类型时才这样做,但是传递已知的子类型而不是有意义,但是我没有找到任何官方文档来证实这一
我注意到,使用DataContractJsonSerializer,序列化的 JSON字符串有时包含形式的类型信息
{"__type":"MyClass:#MyNamespace",... }

基于我的观察,它似乎只在它序列化基类型时才这样做,但是传递已知的子类型而不是有意义,但是我没有找到任何官方文档来证实这一点或者实际上无论如何迫使序列化器一直展示遇到自定义类型时的此行为.

任何人都可以确认我的观察是否正确吗?更好的是,如果您知道一种方法来指示序列化程序始终序列化自定义类型的类型信息,如果可能的话?

谢谢,

实际上,您可以强制序列化程序始终始终发出__type信息.

如果您使用独立的序列化程序,请使用带有“alwaysEmitTypeInformation”参数的构造函数重载.传递真实.

如果您使用的是DataContractJsonSerializerOperationBehavior,请将该属性上的相同属性设置为true.我相信你也可以通过配置来做到这一点.

最后,请参阅http://msdn.microsoft.com/en-us/library/bb412170.aspx中的“何时发出类型提示”部分以获取更详细的说明.

希望这可以帮助!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读