JSON.NET、XmlSerializer 和“指定”财产
我有一个 REST 服务,它接受 JSON 和 XML 作为输入,并使用反序列化内容对外部服务进行 SOAP 调用。用于反序列化的类是从 SOAP 服务的 wsdl 自动生成的。我在 XML 请求的情况下使用 XmlSerializer,并且我想对 JSON 使用 Newton JSON.NET JsonSerializer。
现在我遇到的问题是,WSDL 生成的类包含可选原子值(例如 bool、int 等)的“指定”属性。这是由 XmlSerializer(根据接收到的 XML 设置属性)处理的,而不是由 Newton JSON.NET Serializer 处理的。我不想强制调用者将 XXXSpecified 元素添加到 JSON 字符串中。
如何使用 JSON.NET 序列化程序处理“指定”属性?
I have a REST service which takes JSON and XML as input and does a SOAP call to an extenal service with the deserialized content. The classes which are used for deserialization are auto-generated from the wsdl of the SOAP service. I use the XmlSerializer in case of a XML request and I want to use the Newton JSON.NET JsonSerializer for JSON.
Now I have the problem, that the WSDL generated classes contain the "Specified" property for optional atomar values (such as bool, int etc.). This is handled by the XmlSerializer (who sets the property accordingly to the reveived XML) but not by the Newton JSON.NET Serializer. I don't want to force the caller to add the XXXSpecified elements to the JSON string.
How can I treat the "Specified" properties with the JSON.NET serializer?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我的解决方案:
然后在生成的类的扩展中:
My solution:
and then in extension of the generated classes: