首页 > 技术文章 > json对象与.net对象互相转换

elevenlang 2013-12-07 16:52 原文

’json对象序列化为.net对象

//接收前台传递的json对象 
Dim txtName = Request.Form("txtName")
//后台对json对象的序列化处理,生成为一个.net对象
Dim serializer As New JavaScriptSerializer()
Dim names As List(Of obj) = serializer.Deserialize(Of List(Of obj))(txtName)

 

'.net对象序列化为json对象

 Dim user1 As New TestUser
        Dim user2 As New TestUser
        user1.name = "adsfd"
        user1.email = "80808080"
        user1.info = "sssss"
        user2.name = "afd"
        user2.email = "8080"
        user2.info = "ss"
        Dim users As New List(Of TestUser)
        users.Add(user1)
        users.Add(user2)

        Dim serializer As New JavaScriptSerializer()
        Dim names As String = serializer.Serialize(users)

 

//注意:在后台中需要添加.net类,如

Public Class user
    Public name As String
    Public email As String
    Public info As String
End Class

 

//生成对象后即可在后台保存到数据库或者xml文件

//保存数据库方式为ADO.net方式,添加成功为username=1

Dim serializer As New JavaScriptSerializer()
Dim names As List(Of obj) = serializer.Deserialize(Of List(Of obj))(txtName)

Dim conStr As String
conStr = "data source=WH-PENGS02\SQL2008;initial catalog=test20131119;user id=sa; password=95938"
Dim sqlcon As SqlConnection
sqlcon = New SqlConnection()
sqlcon.ConnectionString = conStr
sqlcon.Open()
Dim sqlcom As SqlCommand = New SqlCommand()
sqlcom.Connection = sqlcon
For i As Integer = 0 To names.Count - 1
     sqlcom.CommandText = "insert into UserInfo(userGUID,userName,userEmail,userInfo) values (newid(),'" + 

  names(i).name + "','" + names(i).email + "','" + names(i).info + "')"
Dim username As Integer = sqlcom.ExecuteNonQuery()

Next

 

//保存为xml文件

Dim xml AS String= "<note>"

For i As Integer = 0 To names.Count - 1
        xml += "<user>" + "<name>" + names(i).name + "</name>" + "<email>" + names(i).email + "</email>" + "<info>" + names(i).info + "</info></user>"
}

xml=xml+"</note>"

 

注:在.net后台Vb中对象数组是使用小括号,在前台js中使用的是中括号

 

 

推荐阅读