Foxtable(狐表)用户栏目专家坐堂 → 请教:JSON 生成与解析问题!


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

主题:请教:JSON 生成与解析问题!

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


加好友 发短信
等级:一尾狐 帖子:433 积分:4351 威望:0 精华:0 注册:2017/3/20 21:08:00
请教:JSON 生成与解析问题!  发帖心情 Post By:2017/12/5 10:46:00 [只看该作者]

请教:JSON 生成与解析问题:
'-------这是查询网页中的:生成或解析JSON 语句开始
    Dim str01 As String = Functions.Execute("item_jsonLine",e,power0)
    If str01>"" Then
        wb.insertHTML("<p>库存变动明细记录</p>")
        wb.insertHTML("<p>操作日期|操作状态|数量|操作员|对方</p>")
        Dim ja1 As JArray = JArray.Parse(str01)
        For i As Integer = 0 To ja1.count - 1
            ' wb.insertHTML(jt("date2").ToString() & "|" & jt("state2").ToString() & "|" & jt("qty2").ToString() & "|" & jt("user21").ToString() & "|" & jt("user22").ToString()) ‘报错
            wb.insertHTML(ja1(i).ToString())     '只有这句有结果,但我不我想要的。
            'wb.insertHTML(ja1(i)("date2").ToString()) ‘报错
        Next
    End If
'------------以下是自定义函数(item_jsonLine)中的生成JSON 语句
Dim dr9 As List(of Data Row) = Data Tables("json_table").Select("","data1 Desc")
If dr9.Count > 0 Then
    Dim i1 As Integer=0
    Dim ja1 As New Jarray
        Dim ja As New Jobject
    For Each dr0 As DataRow In dr9
        Dim a1 As Datetime =dr0("data1")
        Dim a2 As String =dr0("state1")
        Dim a3 As Integer=dr0("qty1")
        Dim a4 As String=dr0("user1")
        Dim a5 As String=dr0("user2")
        ja("date2") = a1
        ja("state2") =a2
        ja("qty2") =a3
        ja("user21") =a4
        ja("user22") =a5
        ja1.Add(New JObject)
        ja1(i1)("name")=ja
        i1=i1+1
    Next
    str01 = ja1.ToString()
End If
Return str01

’---------以下目前我能看到的结果

库存变动明细记录

操作日期|操作状态|数量|操作员|对方

{ "name": { "date2": "2017-12-03T00:00:00", "state2": "有单接收", "qty2": 1, "user21": "张课长", "user22": "N0028" } }{ "name": { "date2": "2017-12-03T00:00:00", "state2": "有单接收", "qty2": 1, "user21": "张课长", "user22": "N0028" } } { "name": { "date2": "2017-12-03T00:00:00", "state2": "有单接收", "qty2": 1, "user21": "张课长", "user22": "N0028" } }
‘----------我希望看到的结果如实例:本页地址:http://www.foxtable.com/mobilehelp/scr/0252.htm
请专家指教一下:
1.我不懂如何才能输出正确结果,
2.是否是我的JSON 生成情况也有错,行与行之间少了个,号
先谢谢了



[此贴子已经被作者于2017/12/5 10:46:14编辑过]

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/12/5 11:01:00 [只看该作者]

生成

 

Dim jo As New JObject
Dim ja As New JArray
Dim drs As List(of DataRow) = DataTables("表A").Select("")
jo("count") = drs.count
jo("data") = ja

Dim i As Integer = 0
For Each dr As DataRow In drs
    ja.Add( new jobject)
    ja(i)("第一列") = dr("第一列").tostring
    ja(i)("第二列") = dr("第二列").tostring
    i += 1
Next
output.show(jo.tostring)

[此贴子已经被作者于2017/12/5 12:07:42编辑过]

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/12/5 11:03:00 [只看该作者]

读取,参考

 

For Each o As JToken In jo("data")
    output.show(o("第一列").tostring & o("第二列").tostring)
next


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


加好友 发短信
等级:一尾狐 帖子:433 积分:4351 威望:0 精华:0 注册:2017/3/20 21:08:00
多谢专家及时指教!  发帖心情 Post By:2017/12/5 11:30:00 [只看该作者]

多谢专家及时指教!
我再认真学习一下。

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


加好友 发短信
等级:一尾狐 帖子:433 积分:4351 威望:0 精华:0 注册:2017/3/20 21:08:00
再请教:临时表的日期时间格式定义。  发帖心情 Post By:2017/12/5 13:13:00 [只看该作者]

感谢专家指教,楼上的问题已经明白了。

再请教一下:下面这个临时表的日期时间格式需要如何定义?
Dim dtb As New Data TableBuilder("json_table") '增加一临时表,暂时存放所有汇总记录
dtb.AddDef("date1", Gettype(datetime))
dtb.AddDef("state1", Gettype(String), 8)
这个栏位目前输出的值为:2017-12-03T00:00:00
我的数据源表的日期栏位是带有时间的。
还请专家指点一下。
先谢谢你了!。


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/12/5 15:12:00 [只看该作者]

生成表后,设置列格式即可,如

 

http://www.foxtable.com/webhelp/scr/1611.htm

 


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


加好友 发短信
等级:一尾狐 帖子:433 积分:4351 威望:0 精华:0 注册:2017/3/20 21:08:00
多谢专家及时指教!  发帖心情 Post By:2017/12/5 15:21:00 [只看该作者]

狐表功能太强大,学到后面忘了前面。
多谢专家及时指教!

 回到顶部