Foxtable(狐表)用户栏目专家坐堂 → 如何解析JSON


  共有1986人关注过本帖树形打印复制链接

主题:如何解析JSON

帅哥哟,离线,有人找我吗?
nothing
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:517 积分:3383 威望:0 精华:0 注册:2013/1/3 17:08:00
如何解析JSON  发帖心情 Post By:2017/10/24 17:35:00 [显示全部帖子]

https://work.weixin.qq.com/api/doc#11228

嵌套的JSON,试了好久解不出来,请老师帮忙

图片点击可在新窗口打开查看此主题相关图片如下:qq截图20171024172930.png
图片点击可在新窗口打开查看


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20171024172830.png
图片点击可在新窗口打开查看

Dim st As New Date(1970,1,1,8,0,0)
Dim rq1 As Date = #10/24/2017 0:0:0#
Dim rq2 As Date = #10/24/2017 23:59:59#
Dim ksrq As Integer = CInt(( rq1- st).TotalSeconds()) '时间戳
Dim jsrq As Integer = CInt((rq2- st).TotalSeconds()) '时间戳

Dim ul As String = "https://qyapi.weixin.qq.com/cgi-bin/corp/getapprovaldata?access_token={0}"
Dim hc As New HttpClient(CExp(ul,Functions.Execute("GetQYAccessToken_sp")))
Dim jo As New JObject
Dim jo1 As New JObject
jo("starttime") = ksrq
jo("endtime") = jsrq
hc.Content = jo.ToString()
jo = JObject.Parse(hc.GetData)
If jo("errcode") = "0" Then
    For Each jt As JToken In jo("data")
        Dim r As Row = Tables("审批").AddNew
        r("count") = jo("count")
        r("total")= jo("total")
        r("next_spnum")= jo("next_spnum")
        r("spname") = jt("spname")
        r("apply_name") =jt("apply_name")
        r("apply_org") =jt("apply_org")
        r("approval_name") =jt("approval_name").ToString
        r("notify_name") =jt("notify_name").Tostring
        r("sp_status") =jt("sp_status")
        r("sp_num") =jt("sp_num")
        r("apply_time") =jt("apply_time")
        r("apply_user_id") =jt("apply_user_id")
        r("comm") =jt("comm").Tostring
        r("apply_data") =jt("comm")("apply_data").ToString
         
        For Each jt1 As JToken In jt("comm")("apply_data").Tostring
            Dim r1 As Row = Tables("审批明细").AddNew
            r1("sp_num") =jt1("sp_num")
            r1("item") =jt("sp_num")
            r1("title") =jt1("title")
            r1("type") =jt1("type")
            r1("value") =jt1("value")
        Next
    Next
    
Else
    MessageBox.Show(jo.ToString)
End If



 回到顶部
帅哥哟,离线,有人找我吗?
nothing
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:517 积分:3383 威望:0 精华:0 注册:2013/1/3 17:08:00
  发帖心情 Post By:2017/10/24 17:39:00 [显示全部帖子]

审批表为主表,数据能取出来并填进去了,想把apply_data里的数据放到明细表里(因为项数不一定)

 回到顶部
帅哥哟,离线,有人找我吗?
nothing
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:517 积分:3383 威望:0 精华:0 注册:2013/1/3 17:08:00
  发帖心情 Post By:2017/10/25 8:19:00 [显示全部帖子]

  1. 【注解2apply_data
  2. {
  3. "item-1490450365815": {
  4. "title": "加班理由", // 类目名
  5. "type": "textarea", // 类目类型【 text: "文本", textarea: "多行文本", number: "数字", date: "日期", datehour: "日期+时间", select: "选择框" 】
  6. "value": "项目需要" // 填写的内容,只有Type是图片时,value是一个数组,数据示例如下方所示;
  7. },
  8. "item-1490450379069": {
  9. "title": "加班开始时间",
  10. "type": "date",
  11. "value": "1490371200000" //日期格式为时间缀
  12. },
  13. }

 回到顶部
帅哥哟,离线,有人找我吗?
nothing
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:517 积分:3383 威望:0 精华:0 注册:2013/1/3 17:08:00
  发帖心情 Post By:2017/10/25 8:22:00 [显示全部帖子]

得到是4楼的string,想得到下面格式的数据
item                         title                   type                         value
item-1490450365815
[此贴子已经被作者于2017/10/25 8:25:30编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
nothing
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:517 积分:3383 威望:0 精华:0 注册:2013/1/3 17:08:00
  发帖心情 Post By:2017/10/25 9:38:00 [显示全部帖子]

感谢 ,前面的OK了。

还有一个问题
"item-1490450379069": {
        "title": "加班开始时间",
        "type": "date",
        "value": "1490371200000"    //日期格式为时间缀
    },
    "item-1490450399494": {
        "title": "加班证明",
        "type": "image",
        "value": [
                    "https://p.qpic.cn/pic_wework/4116602740/a2a481aa4e87639055774e51bc6cabde5595cd4458b57343/0",
                    "https://p.qpic.cn/pic_wework/4116602740/a2a481aa4e87639055774e51bc6cabde5595cd4458b57343/0"
                ]
    }

type  是"image",”file“类型时,"value"的值是一个数组,存到表里会出错,怎么样能不出错

 回到顶部
帅哥哟,离线,有人找我吗?
nothing
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:517 积分:3383 威望:0 精华:0 注册:2013/1/3 17:08:00
  发帖心情 Post By:2017/10/25 9:48:00 [显示全部帖子]

谢谢

 回到顶部