vb.net使用Newtonsoft.JSON解析JSON字串心得

随便一搜JSON字串解析,1000条结果里有900条都是C#的,剩下95条JAVA、Android、PHP的,还有3条是iPhone的。

看的很郁闷,真的没有人用VB.net?

闲话少说,现在就说说用VB.net解析JSON字串的心得吧。

经过实际测试,发现网上的代码80%都不能用。很多都是照抄,抄之前根本就没有测试过。

下面我将经过测试可用的代码放上来。

1.1、解析JSON字串:

dim empData as string="
{"message":null,"data":{"paginationData":[{"name":"管理员","user_id":16394,"groupsname":""},{"name":"测试","user_id":16395,"groupsname":"部门A"},{"name":"隔壁老王","user_id":16396,{"name":"小明","user_id":16397,"groupsname":"部门B"}],"result":1}
"
Dim p As JObject = CType(JsonConvert.DeserializeObject(empData),JObject)
1.2、读取值:
dim msg as string=p("message").ToString()

1.3、职员列表解析
Public Structure Employee
        Dim name As String
        Dim user_id As Integer
        Dim groupsname As String
End Structure
Dim emp As List(Of Employee)
emp = JsonConvert.DeserializeObject(Of List(Of Employee))(p("data")("paginationData").ToString)

1.4、读取职员信息
dim empCount as integer=emp.count     '全部职员数量
msgBox emp(2).name & emp(2).user_id & emp(2).groupsname     '结果为“隔壁老王16396部门A”

1.5、要想实现自动将JSON的职员数组解析到Employee列表里,必须将Employee结构内的各变量定义的和JSON字串里一致。

比如,在JSON字串中是name、user_id、groupsname,那么在结构里也必须这样定义。

{"name":"小明","groupsname":"部门B"}

并且区分大小写,JSON里user_id和user_ID是两个不同的变量。

就先写这么多,希望能给使用Vb.net的朋友有所帮助。

相关文章

Format[$] ( expr [ , fmt ] ) format 返回变体型 format$ 强制返回为文本 --------------------------...
VB6或者ASP 格式化时间为 MM/dd/yyyy 格式,竟然没有好的办法, Format 或者FormatDateTime 竟然结果和...
在项目中添加如下代码:新建窗口来显示异常信息。 Namespace My ‘全局错误处理,新的解决方案直接...
转了这一篇文章,原来一直想用C#做k3的插件开发,vb没有C#用的爽呀,这篇文章写与2011年,看来我以前没...
Sub 分列() ‘以空格为分隔符,连续空格只算1个。对所选中的单元格进行处理 Dim m As Range, t...
  窗体代码 1 Private Sub Text1_OLEDragDrop(Data As DataObject, Effect As Long, Button As Integ...