VB.NET Jobject 解析 JSON
1 ''' <summary> 2 ''' 提交快递数据参数,返回 快递跟踪 3 ''' </summary> 4 ''' <param name="OrderCode">物流运单号</param> 5 ''' <param name="LogisticCode">物流运单号</param> 6 ''' <param name="ShipperCode">快递公司编码</param> 7 ''' <returns>Traces:(快递跟踪) eg. 2016-12-07 16:01:23: 顺丰速运 已收取快件</returns> 8 ''' <remarks></remarks> 9 10 Public Function GetKDinfo(ByVal OrderCode As String, ByVal LogisticCode As String, ByVal ShipperCode As String) As String 11 12 Dim st As String 13 st = getOrderTracesByJson(OrderCode, ShipperCode, LogisticCode) 14 15 Dim jo As JObject 16 jo = JsonConvert.DeserializeObject(st) 17 18 Dim KDinfo As String 19 KDinfo = "" 20 21 Dim ss As String 22 ss = jo("Traces").ToString() 23 Dim jff As JArray 24 jff = JsonConvert.DeserializeObject(ss) 25 26 For i = 0 To jff.Count - 1 27 KDinfo = KDinfo + jff(i)("AcceptTime").ToString() + ": " + jff(i)("AcceptStation").ToString() + "\r\n" 28 Next 29 Return KDinfo 30 End Function 31 32 ''' <summary> 33 ''' 查询 快递状态 34 ''' </summary> 35 ''' <param name="OrderCode">订单号</param> 36 ''' <param name="LogisticCode">物流运单号</param> 37 ''' <param name="ShipperCode">快递公司编号</param> 38 ''' <returns>返回快递状态状态 State:(物流状态) 0-无轨迹;1-已揽收;2-在途中;201-到达派件城市;3-签收;4-问题件 </returns> 39 ''' <remarks>参数都是string类型的,饭后文本状态信息。</remarks> 40 Public Function GetKDstate(ByVal OrderCode As String, ByVal LogisticCode As String, ByVal ShipperCode As String) As String 41 42 Dim st As String 43 Dim KDinfostr(2) As String 44 st = getOrderTracesByJson("", ShipperCode, LogisticCode) 45 46 Dim jo As JObject 47 jo = JsonConvert.DeserializeObject(st) 48 49 Dim endstr As String 50 endstr = "" 51 Dim stateInt As Int16 52 53 'MsgBox(jo("State").Type) 54 55 stateInt = CInt(IIf(IsDBNull(jo("State")), "0", jo("State"))) 56 57 Select Case stateInt 58 Case 0 59 endstr = "无轨迹" 60 Case 1 61 endstr = "已揽收" 62 Case 2 63 endstr = "在途中" 64 Case 3 65 endstr = "签收" 66 Case 4 67 endstr = "问题件" 68 End Select 69 Return endstr 70 End Function