随便一搜JSON字串解析,1000条结果里有900条都是C#的,剩下95条J***A、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的朋友有所帮助。