代码是从csdn下载的,关于在.NET中如何解析JSON数据的,地址是:http://blog.csdn.net/zhoufoxcn/article/details/6254657
然后我试着转成VB.NET,但总是提示各种错误,想请大家帮忙看看我转化的哪些地方有问题?中间一部分就没写了,定义属性那些都一样
Imports System.Runtime.Serialization
Imports Newtonsoft.Json
Imports Newtonsoft.Json.Linq
Imports Newtonsoft.Json.Converters
Public Class Class2
Public Function JsonConvertDemo()
Dim user As User = New User() {UserId = 1, UserName = "李刚", CreateDate = DateTime.Now.AddYears(-30), Birthday = DateTime.Now.AddYears(-50), Priority = Priority.BelowNormal, Salary = 5000}
'JsonConvert类在Newtonsoft.Json.Net35.dll中,注意到http://www.codeplex.com/json/下载这个dll并添加这个引用
'JSON序列化
Dim result As String = JsonConvert.SerializeObject(User)
Console.WriteLine("使用JsonConvert序列化后的结果:{0},长度:{1}", result, result.Length)
'JSON反序列化
user = JsonConvert.DeserializeObject < user > (result)
Console.WriteLine("使用JsonConvert反序列化后的结果:UserId:{0},UserName:{1},CreateDate:{2},Priority:{3}", user.UserId, user.UserName, user.CreateDate, user.Priority)
End Function
'<Serializable()>
Public Class User
'' <summary>
'' 编号
'' </summary>
Public Property UserId As Integer
Get
End Get
Set(ByVal value As Integer)
End Set
End Property
.........
Public Sub User()
Urls = New List(Of String)
End Sub
End Class
'' <summary>
'' 权利级别
'' </summary>
Public Enum Priority As Byte
Lowest = 1
BelowNormal = 2
Normal = 4
AboveNormal = 8
Highest = 22
End Enum
End Class
------解决思路----------------------
你看看我给你的两个链接吧,VB.NET我敲起来无比郁闷。不熟悉VB,NET
------解决思路----------------------
VB.NET那里需要用new XXX() With{.XXX=XXX}
比C#里多了个With关键字,每个属性面前多了个点。
这个是VB的语法,具体你可以搜“With关键字”。
------解决思路----------------------
先去装个 .Net Reflector。
把 C# 的代码编译成 dll。
用 Reflector 打开该 dll,查看语言选 Visual Basic,就能查看反编译出来的 VB.Net 代码了。
如果装了 File Disassembler 插件,还可以选定整个 NameSpace,批量反编译代码。
.Net 框架下的语言转换都可以通过这种方式,手工要做的就是建工程、把源代码包含进来。
------解决思路----------------------
所给不全引起的部分报错已经注释,vb语法会稍微比C#麻烦些,但整体更容易阅读,代码版面要美观很多很多很多。。。
Imports System.Runtime.Serialization
Imports Newtonsoft.Json
Imports Newtonsoft.Json.Linq
Imports Newtonsoft.Json.Converters
Public Class Class2
Public Function JsonConvertDemo()
Dim user As User = New User()
'UserId = 1, UserName = "李刚", CreateDate = DateTime.Now.AddYears(-30), Birthday = DateTime.Now.AddYears(-50), Priority = Priority.BelowNormal, Salary = 5000}
With user
.UserId = 1
'.UserName = "李刚"
'... z自己补,User属性不全
End With
'JsonConvert类在Newtonsoft.Json.Net35.dll中,注意到http://www.codeplex.com/json/下载这个dll并添加这个引用
'JSON序列化
'Dim result As String = JsonConvert.SerializeObject(user)
'Console.WriteLine("使用JsonConvert序列化后的结果:{0},长度:{1}", result, result.Length)
'JSON反序列化
'user = JsonConvert.DeserializeObject < user > (result)
'Console.WriteLine("使用JsonConvert反序列化后的结果:UserId:{0},UserName:{1},CreateDate:{2},Priority:{3}", user.UserId, user.UserName, user.CreateDate, user.Priority)
End Function
'<Serializable()>
Public Class User
'' <summary>
'' 编号
'' </summary>
Public Property UserId As Integer
Get
End Get
Set(ByVal value As Integer)
End Set
End Property
'.........
Public Sub User()
'Urls = New List(Of String)
End Sub
End Class
'' <summary>
'' 权利级别
'' </summary>
Public Enum Priority As Byte
Lowest = 1
BelowNormal = 2
Normal = 4
AboveNormal = 8
Highest = 22
End Enum
End Class