Imports System.Runtime.Serialization.Json
Imports System.IO
Partial Class _Default
Inherits System.Web.UI.Page
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim strTest As String
'strTest = "{""name"":""Peggy"",""email"":""peggy@gmail.com""}"
'Button1.Attributes.Add("onclick", "json(" & strTest & ")")
strTest = "{""result"":[{""content"":""你好"",""sendPhone"":""15523565211"",""replayTime"":""2011-09-27 09:45:15.887""},{""content"":""大家好"",""sendPhone"":""15523565211"",""replayTime"":""2011-09-27 09:42:48.933""},{""content"":""都好"",""sendPhone"":""15523565211"",""replayTime"":""2011-09-27 09:34:31.727""}],""success"":true}"
'Dim mytest As Test
'mytest = FromJosnT(Of Test)(strTest)
'Response.Write(mytest.name & " " & mytest.email)
Dim myTest As content
myTest = FromJosnT(Of content)(strTest)
For Each ab As BackContent In myTest.result
Response.Write(ab.content & ab.sendPhone & ab.replayTime)
Next
Response.Write(myTest.success)
End Sub
Public Function FromJosn(ByVal josn As String) As Object
Dim ds As DataContractJsonSerializer = New DataContractJsonSerializer(GetType(Test))
Dim ms As MemoryStream = New MemoryStream(System.Text.Encoding.UTF8.GetBytes(josn))
Return ds.ReadObject(ms)
End Function
Public Function ToJosnT(Of T)(ByVal myT As T) As String
Dim ds = New DataContractJsonSerializer(GetType(T))
Dim ms = New MemoryStream()
ds.WriteObject(ms, myT)
Dim strReturn As String
strReturn = Encoding.UTF8.GetString(ms.ToArray())
ms.Close()
Return strReturn
End Function
Public Function FromJosnT(Of T)(ByVal josn As String) As T
Dim ds As DataContractJsonSerializer = New DataContractJsonSerializer(GetType(T))
Dim ms As MemoryStream = New MemoryStream(System.Text.Encoding.UTF8.GetBytes(josn))
Return ds.ReadObject(ms)
End Function
Protected Sub Button2_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim myTest As New Test()
myTest.name = "test"
myTest.email = "adfas@163.com"
Response.Write(ToJosnT(Of Test)(myTest))
End Sub
End Class
Public Class Test
Private _name As String
Public Property name As String
Get
Return _name
End Get
Set(ByVal value As String)
_name = value
End Set
End Property
Private _email As String
Public Property email As String
Get
Return _email
End Get
Set(ByVal value As String)
_email = value
End Set
End Property
End Class
Public Class BackContent
Private _content As String
Public Property content As String
Get
Return _content
End Get
Set(ByVal value As String)
_content = value
End Set
End Property
Private _sendPhone As String
Public Property sendPhone As String
Get
Return _sendPhone
End Get
Set(ByVal value As String)
_sendPhone = value
End Set
End Property
Private _replayTime As String
Public Property replayTime As String
Get
Return _replayTime
End Get
Set(ByVal value As String)
_replayTime = value
End Set
End Property
End Class
Public Class content
Private _result As IList(Of BackContent)
Public Property result As IList(Of BackContent)
Get
Return _result
End Get
Set(ByVal value As IList(Of BackContent))
_result = value
End Set
End Property
Private _success As String
Public Property success As String
Get
Return _success
End Get
Set(ByVal value As String)
_success = value
End Set
End Property
End Class