×

VB.NET Web Service VB JSON

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

Kalet Kalet 发表于2019-07-11 12:50:56 浏览586 评论0

抢沙发发表评论

 

随便一搜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,"groupsname":"部门A"},{"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":"小明","user_id":16397,"groupsname":"部门B"}


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

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


---------------------
作者:x287634334
原文:https://blog.csdn.net/x287634334/article/details/46507017

 

群贤毕至

访客