Foxtable(狐表)用户栏目专家坐堂 → Jobject 遍历问题


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

主题:Jobject 遍历问题

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


加好友 发短信
等级:幼狐 帖子:196 积分:1429 威望:0 精华:0 注册:2020/5/23 14:56:00
Jobject 遍历问题  发帖心情 Post By:2022/1/14 8:34:00 [只看该作者]

Dim jo As JObject = args(1)

' 转为Object
Dim jc As JObject =  JObject.Parse(jo("content").ToString())

Dim strSQL As String  = ""
' 先查询表格,以便处理日期列
strSQL = "Select Top 1 "

For Each jp As JProperty In jc
    strSQL = strSQL & "[" & jp.Name.ToString() & "] , "
Next

报错  JToken 不能转为 JProperty
改用 as  JToken 报 JToken不能转为JToken



------
Dim arrData As New JArray
Dim jObj    As New JObject
jObj("tableName") = "bm_user"

Dim objContent As new JObject
objContent("id") = 1
objContent("name") = "fzr"

jObj("content")   = objContent
jObj("where") = "keyong = 1"

arrData.Add(jObj)

Dim jObj1    As New JObject
jObj1("tableName") = "bm_units"

Dim objContent1 As new JObject
objContent1("id") = 2
objContent1("name") = "yy"

jObj1("content")   = objContent1
jObj1("where") = "keyong = 2"

arrData.Add(jObj1)

'Dim js As String = arrData.ToString()
'output.show(js)

For Each jt As JToken In arrData
    output.show(jt.ToString())

    If jt("user") Is Nothing Then
      '  MessageBox.Show("user键值不存在!")
    End If

    For Each jp As JProperty In jt
        output.show(jp.ToString())
       ' output.show(jp("where").ToString())
       ' output.show(jp("tableName").ToString())
        output.show("    ")
    Next
Next

这样使用 as jProperty 却是正常的

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110668 积分:563254 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/1/14 9:02:00 [只看该作者]

jo("content")是什么内容?发上来测试一下

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


加好友 发短信
等级:幼狐 帖子:196 积分:1429 威望:0 精华:0 注册:2020/5/23 14:56:00
  发帖心情 Post By:2022/1/14 9:10:00 [只看该作者]

没有调用这个函数呢, 只是写了个内部函数

准备写成 下面代码中的content

Dim arrData As New JArray
Dim jObj    As New JObject
jObj("tableName") = "bm_user"

Dim objContent As new JObject
objContent("id") = 1
objContent("name") = "fzr"

jObj("content")   = objContent
jObj("where") = "keyong = 1"

arrData.Add(jObj)

Dim jObj1    As New JObject
jObj1("tableName") = "bm_units"

Dim objContent1 As new JObject
objContent1("id") = 2
objContent1("name") = "yy"

jObj1("content")   = objContent1
jObj1("where") = "keyong = 2"

arrData.Add(jObj1)

'Dim js As String = arrData.ToString()
'output.show(js)

For Each jt As JToken In arrData
    output.show(jt.ToString())

    If jt("user") Is Nothing Then
      '  MessageBox.Show("user键值不存在!")
    End If

    For Each jp As JProperty In jt
        output.show(jp.ToString())
       ' output.show(jp("where").ToString())
       ' output.show(jp("tableName").ToString())
        output.show("    ")
    Next
Next
[此贴子已经被作者于2022/1/14 9:10:51编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110668 积分:563254 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/1/14 9:21:00 [只看该作者]

那是一个键值对,要这样用:
For Each jp As object In jc
    strSQL = strSQL & "[" & jp.key.ToString() & "] , "
Next


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


加好友 发短信
等级:幼狐 帖子:196 积分:1429 威望:0 精华:0 注册:2020/5/23 14:56:00
  发帖心情 Post By:2022/1/14 9:53:00 [只看该作者]

这个有相应的帮助文档吗?  JObject , JArray , JToken , JProperty 都晕了 

 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110668 积分:563254 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/1/14 10:00:00 [只看该作者]


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


加好友 发短信
等级:幼狐 帖子:196 积分:1429 威望:0 精华:0 注册:2020/5/23 14:56:00
  发帖心情 Post By:2022/1/14 15:48:00 [只看该作者]

如何 判断 content 是否存在呢?
[此贴子已经被作者于2022/1/14 15:50:27编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110668 积分:563254 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/1/14 15:52:00 [只看该作者]

if jo("content") isnot nothing

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


加好友 发短信
等级:幼狐 帖子:196 积分:1429 威望:0 精华:0 注册:2020/5/23 14:56:00
  发帖心情 Post By:2022/1/14 16:41:00 [只看该作者]

JArray  元素  用  JToken
Jobject 元素 用 JProperty 对吗?

还是 JProperty 用在哪里?

 回到顶部
帅哥,在线噢!
有点蓝
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110668 积分:563254 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/1/14 16:54:00 [只看该作者]

看官方文档说明把

 回到顶部
总数 13 1 2 下一页