json对象与.net对象互相转换
’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中使用的是中括号