如何更改WebMethod参数的序列化程序

时间:2015-01-06 16:58:19

标签: asp.net json vb.net serialization json.net

我在一些旧的网络代码中发现了一个问题。问题是默认的序列化程序没有正确地序列化日期。我想使用JSON.Net来序列化我们的aspx代码中的Web方法的参数。但我不知道如何告诉它使用JSON.NET而不是使用默认的序列化器。

以下是我们代码的示例片段

<System.Web.Services.WebMethod()> _
    <System.Web.Script.Services.ScriptMethod()> _
    Public Shared Function EditApplication(ByVal Application As ApplicationModel, ByVal Country As String, ByVal Language As String) As jsonResponse
        Dim r As New jsonResponse
        Dim g As New ApplicationRequest
        g.country = Country
        g.locale = Language
        g.platform = "Android"
        g.timestamp = ""
        g.transactionid = "abc123"
        ....

所以我需要ApplicationModel来使用JSON.Net进行序列化。谢谢你的帮助。

1 个答案:

答案 0 :(得分:0)

不确定这是否有用(因为这是从REST Web服务获取的),但您可以在OperationContract上定义它,如下所示: 的 System.ServiceModel.Web.WebMessageFormat.Json

<OperationContract()> _
<WebGet(responseformat:=System.ServiceModel.Web.WebMessageFormat.Json)> _