在大多数情况下,我们在基于AJAX的Web应用程序中使用ASP.NET Web服务(System.Web.Script.Services.ScriptService)。这种方法带来了一个主要优势,即以客户端方式自动提供所有服务器端类(在Web服务方法中使用),以JavaScript替代方式(具有适当命名空间的JavaScript类)。
但是,在我们的应用程序中,我们正在使用基于第三方框架的类。这些类继承了许多不可序列化的属性,这使得它们无法用于自动Web服务序列化为JSON,并且一旦发送到客户端就不可用。
有没有办法定义要序列化为JSON并返回(一旦发送到客户端并返回)适当类的属性列表?
答案 0 :(得分:2)
我能想到两种方法:
将您的第三方课程包装在您的 你可以控制自己的课程 什么属性暴露给 串行器。这有好处 它应该允许你暴露 任何Web服务的数据 实现(例如JSON,XML)。
创建JavaScriptConverter 让你实现的类 自定义序列化和 反序列化第三方 类。