Asp.net mvc 如何序列化Json VB.NET

Asp.net mvc 如何序列化Json VB.NET,asp.net-mvc,vb.net,rest,Asp.net Mvc,Vb.net,Rest,我正在尝试调用rest服务。该服务返回json对象…我可以发送请求,但无法序列化json…下面是我正在尝试的代码 Function Sendingrequest(Item As Object) As String Dim request As HttpWebRequest Dim response As HttpWebResponse = Nothing Dim res As StreamReader

我正在尝试调用rest服务。该服务返回json对象…我可以发送请求,但无法序列化json…下面是我正在尝试的代码

 Function Sendingrequest(Item As Object) As String


            Dim request As HttpWebRequest
            Dim response As HttpWebResponse = Nothing
            Dim res As StreamReader
            Try
                request = DirectCast(WebRequest.Create("http://localhost/SomeService/Type?id=" Item), HttpWebRequest)
                response = DirectCast(request.GetResponse(), HttpWebResponse)
                res = New StreamReader(response.GetResponseStream())
                Dim serializer As New System.Runtime.Serialization.Json.DataContractJsonSerializer(res.[GetType]())
                Dim ms As New MemoryStream()
                serializer.WriteObject(ms, res)
                Dim json As String = Encoding.[Default].GetString(ms.ToArray())
                Return json

            Finally
                If Not response Is Nothing Then response.Close()
            End Try


        End Function
我不确定是否通过url正确传递了参数…我将url硬编码为“http://localhost/SomeService/Type?id=ABC“然后url被命中,但我得到了这个错误

键入“System.Text.UTF8Encoding+UTF8Decoder”,数据协定名称为“UTF8Encoding.UTF8Decoder:http://schemas.datacontract.org/2004/07/System.Text”他说。考虑使用DATACONTRORTCORDEVER或将未知类型的任何类型添加到已知类型的列表中——例如,使用NoNyType属性或将它们添加到传递给DATACONTROTTRORIGLASER的已知类型列表中。 有什么建议吗


谢谢。

事实上,仅从您提供的细节很难判断问题出在哪里或是什么地方

以下是我的建议:

  • 在服务端启用跟踪,生成跟踪日志,并使用SvcTraceViewer进行分析。要执行此操作,请按照中的说明进行操作。注意第一次和第二次之间的区别

  • 启用调试异常。这是通过提交includeExceptionDetailInFaults来完成的,它是。注意第一次和第二次之间的区别

  • 用于监视客户端和服务端的有线通信量

一般来说,一旦你这样做了,你应该有更多的信息来了解服务端正在发生的事情,并且可以很快地诊断出问题。试试看,请回来汇报!:)