以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]企业微信打卡记录求json解析 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=150352) |
-- 作者:188802386 -- 发布时间:2020/5/27 20:23:00 -- [求助]企业微信打卡记录求json解析 Dim st As New Date(1970,1,1,8,0,0) Dim d1 As Date = "2020-05-25" Dim d2 As Date = "2020-05-26" \'Date.Today Dim t1 As Integer = CInt((d1 - st).TotalSeconds()) \'时间戳 Dim t2 As Integer = CInt((d2 - st).TotalSeconds()) \'时间戳 Static CreateTime As Date \'记录最近一次生成access_token的时间 Static AccessTocken As String \'记录最近一次生成的access_token Dim ur As String = "https://qyapi.weixin.qq.com/cgi-bin/checkin/getcheckindata?access_token={0}" Dim hc As new HttpClient(Cexp(ur,Functions.Execute("AccessToken3"))) \'企业号应用 Dim jo As New JObject jo("opencheckindatatype") = 3 jo("starttime") = t1 jo("endtime") = t2 jo("useridlist") = "RuanLuQiu" hc.Content = jo.Tostring() output.show(hc.GetData()) 通过以上代码获取到打卡数据,求解析,搞不懂了,谢谢 {"errcode":0,"errmsg":"ok. Warning: wrong json format. ","checkindata":[{"userid":"RuanLuQiu","groupname":"ZF","checkin_type":"上班打卡","exception_type":"未打卡","checkin_time":1590366600,"location_title":"","location_detail":"","wifiname":"","notes":"","wifimac":"","mediaids":[],"lat":0,"lng":0,"deviceid":""},{"userid":"RuanLuQiu","groupname":"ZF","checkin_type":"下班打卡","exception_type":"未打卡","checkin_time":1590404400,"location_title":"","location_detail":"","wifiname":"","notes":"","wifimac":"","mediaids":[],"lat":0,"lng":0,"deviceid":""}]} |
-- 作者:188802386 -- 发布时间:2020/5/27 20:50:00 -- 搞定:需要的自行拿去 Dim st As New Date(1970,1,1,8,0,0) Dim d1 As Date = "2020-05-01" Dim d2 As Date = "2020-05-26" \'Date.Today Dim t1 As Integer = CInt((d1 - st).TotalSeconds()) \'时间戳 Dim t2 As Integer = CInt((d2 - st).TotalSeconds()) \'时间戳 Static CreateTime As Date \'记录最近一次生成access_token的时间 Static AccessTocken As String \'记录最近一次生成的access_token Dim ur As String = "https://qyapi.weixin.qq.com/cgi-bin/checkin/getcheckindata?access_token={0}" Dim hc As new HttpClient(Cexp(ur,Functions.Execute("AccessToken3"))) \'企业号应用 Dim jo As New JObject jo("opencheckindatatype") = 3 jo("starttime") = t1 jo("endtime") = t2 Dim ja As New Jarray \'定义数组 ja.Add("RuanLuQiu") jo("useridlist") = ja hc.Content = jo.Tostring() jo = JObject.Parse(hc.GetData) If jo("checkindata") IsNot Nothing Then ja = jo("checkindata") For i As Integer = 0 To ja.Count - 1 Dim jo2 As JObject =ja(i) output.show(" 用户ID: " & ja(i)("userid").ToString() & " 规则名称: " & ja(i)("groupname").ToString() & " 打卡类型: " & ja(i)("checkin_type").ToString() & " 异常类型: " & ja(i)("exception_type").ToString() & " 打卡时间: " & st.AddSeconds(ja(i)("checkin_time").ToString()) & " 打卡地点: " & ja(i)("location_detail").ToString() & " 地点详情: " & ja(i)("groupname").ToString() & " WIFI名称: " & ja(i)("wifiname").ToString() & " 备注: " & ja(i)("notes").ToString() & " MAC地址: " & ja(i)("wifimac").ToString() & " 附件: " & ja(i)("mediaids").ToString() ) Next End If |