Foxtable(狐表)用户栏目专家坐堂 → 创建微信礼品卡货架多层嵌套json


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

主题:创建微信礼品卡货架多层嵌套json

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


加好友 发短信
等级:九尾狐 帖子:2355 积分:16187 威望:0 精华:0 注册:2013/9/1 8:09:00
创建微信礼品卡货架多层嵌套json  发帖心情 Post By:2018/5/9 16:04:00 [显示全部帖子]

老师,

图片点击可在新窗口打开查看此主题相关图片如下:微信截图_20180509160417.png
图片点击可在新窗口打开查看
我这样写代码:
Dim ar As New JArray
Dim ao As New JObject
For Each r1 As DataRow In DataTables("微信礼品卡货架").Select("主题分类名称 = '分类一'")    
    ao("theme_pic_url") = r1("主题封面链接").Tostring 
    ao("title") = r1("主题名称").Tostring
    ao("title_color") = r1("主题名称颜色").Tostring
    ar.add(ao)
    jo("page")("theme_list") = ar
    
    Dim ar2 As New JArray
    For Each r2 As DataRow In DataTables("微信礼品卡货架").Select("主题名称 = '" & r1("主题名称") & "'")
        Dim ao2 As New JObject
        ao2("card_id") = r2("卡券ID").tostring
        ao2("title") = r2("商品名称").tostring
        ao2("pic_url") = r2("商品缩略图链接").tostring
        ao2("desc") = r2("商品简介").tostring
        ar2.add(ao2)
    Next
    ao("item_list") = ar2
Next
ao("category_index")= 0

Dim ar4 As New JArray
Dim ao4 As New JObject
ao4("title") = "分类一"
ar4.add(ao4)
jo("page")("category_list") = ar4

hc.Content = jo.ToString()
'jo = JObject.Parse(hc.GetData)
hc.GetData
output.show(jo.Tostring)

结果是这样:
{
  "page": {
    "theme_list": [
      {
        "theme_pic_url": "主题封面链接1",
        "title": "主题名称2",   正常应该为 主题名称1
        "title_color": "主题名称颜色2",
        "item_list": [
          {
            "card_id": "卡券ID1",
            "title": "商品名称1",
            "pic_url": "商品缩略图链接1",
            "desc": "商品简介1"
          },
          {
            "card_id": "卡券ID2",
            "title": "商品名称2",
            "pic_url": "商品缩略图链接2",
            "desc": "商品简介2"
          }
        ]
      },
      {
        "theme_pic_url": "主题封面链接1",
        "title": "主题名称2",
        "title_color": "主题名称颜色2",
        "item_list": [
          {
            "card_id": "卡券ID1",
            "title": "商品名称1",
            "pic_url": "商品缩略图链接1",
            "desc": "商品简介1"
          },
          {
            "card_id": "卡券ID2",
            "title": "商品名称2",
            "pic_url": "商品缩略图链接2",
            "desc": "商品简介2"
          }
        ]
      }
    ],
    "category_list": [
      {
        "title": "分类一"
      }
    ],
  }
}
[此贴子已经被作者于2018/5/9 16:07:12编辑过]

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


加好友 发短信
等级:九尾狐 帖子:2355 积分:16187 威望:0 精华:0 注册:2013/9/1 8:09:00
  发帖心情 Post By:2018/5/9 16:10:00 [显示全部帖子]

主题名称那里相同的好像就只取一个了

要怎么处理呢。。。

而且
ao("category_index")= 0
也没有体现出来~
[此贴子已经被作者于2018/5/9 16:11:10编辑过]

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


加好友 发短信
等级:九尾狐 帖子:2355 积分:16187 威望:0 精华:0 注册:2013/9/1 8:09:00
  发帖心情 Post By:2018/5/9 16:15:00 [显示全部帖子]

微信提供的示例:
{
"page": {
"page_title": "礼品卡",
"support_multi": true,
"banner_pic_url": "http://mmbiz.qpic.cn/mmbiz_jpg/p98FjXy8LafBWIJsGFe7tlPvtBFxXXTPdx5cEuFMcWWsiaR1DyrN5ML3jiaVYZibovA8OrwOylUia6ywvVU6Aqboibw/0",
"theme_list": [
{
"theme_pic_url": "http://mmbiz.qpic.cn/mmbiz_jpg/p98FjXy8LafBWIJsGFe7tlPvtBFxXXTPdx5cEuFMcWWsiaR1DyrN5ML3jiaVYZibovA8OrwOylUia6ywvVU6Aqboibw/0",
"title": "title1",
"title_color": "#FB966E",
"show_sku_title_first": true,
"item_list": [
{
"card_id": "pbLatjiSj_yVRH5XTb2Zsln7DNQg",
"title": "焦糖拿铁"
},
{
"card_id": "pbLatjlq75CPBR_tYCRdPlxSGlOs",
"title": "焦糖拿铁"
}
],
"category_index": 0
},
{
"theme_pic_url": "http://mmbiz.qpic.cn/mmbiz_jpg/p98FjXy8LafBWIJsGFe7tlPvtBFxXXTPdx5cEuFMcWWsiaR1DyrN5ML3jiaVYZibovA8OrwOylUia6ywvVU6Aqboibw/0",
"title": "title2",
"title_color": "#FB966E",
"item_list": [
{
"card_id": "pbLatjiSj_yVRH5XTb2Zsln7DNQg",
"title": "焦糖拿铁"
},
{
"card_id": "pbLatjlq75CPBR_tYCRdPlxSGlOs",
"title": "蛋糕"
}
],
"category_index": 1
},
],
"category_list": [
{
"title": "主题分类一"
},
{
"title": "主题分类二"
}
],
}
}
[此贴子已经被作者于2018/5/9 16:17:17编辑过]

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


加好友 发短信
等级:九尾狐 帖子:2355 积分:16187 威望:0 精华:0 注册:2013/9/1 8:09:00
  发帖心情 Post By:2018/5/9 18:00:00 [显示全部帖子]

甜老师,出现了这个情况:

图片点击可在新窗口打开查看此主题相关图片如下:微信截图_20180509175848.png
图片点击可在新窗口打开查看
同一个主题名称下有3个商品,重复了3次,黄色的是重复的
{
  "page": {
    "page_title": "礼品卡标题",
    "support_multi": true,
    "support_buy_for_self": true,
    "banner_pic_url": "http://mmbiz.qpic.cn/mmbiz_jpg/ahyj0ppmibfrTLNaiaZmqK71SDT5pDPzeCfxdWJL5MibJiahDOmIdytzZicotiaSjm0n0Y9LyuhnIos62KR3GO7rKzpw/0?wx_fmt=jpeg",
    "theme_list": [
      {
        "theme_pic_url": "主题封面链接1",
        "title": "主题名称1",
        "title_color": "主题名称颜色1",
        "item_list": [
          {
            "card_id": "卡券ID1",
            "title": "商品名称1",
            "pic_url": "商品缩略图链接1",
            "desc": "商品简介1"
          },
          {
            "card_id": "卡券ID2",
            "title": "商品名称2",
            "pic_url": "商品缩略图链接2",
            "desc": "商品简介2"
          },
          {
            "card_id": "卡券ID3",
            "title": "商品名称3",
            "pic_url": "商品缩略图链接3",
            "desc": "商品简介3"
          }
        ],
        "category_index": 0
      },

以上是正确的
以下是重复一样的
重复
      {
        "theme_pic_url": "主题封面链接1",
        "title": "主题名称1",
        "title_color": "主题名称颜色2",
        "item_list": [
          {
            "card_id": "卡券ID1",
            "title": "商品名称1",
            "pic_url": "商品缩略图链接1",
            "desc": "商品简介1"
          },
          {
            "card_id": "卡券ID2",
            "title": "商品名称2",
            "pic_url": "商品缩略图链接2",
            "desc": "商品简介2"
          },
          {
            "card_id": "卡券ID3",
            "title": "商品名称3",
            "pic_url": "商品缩略图链接3",
            "desc": "商品简介3"
          }
        ],
        "category_index": 1
      },
重复
      {
        "theme_pic_url": "主题封面链接1",
        "title": "主题名称1",
        "title_color": "主题名称颜色3",
        "item_list": [
          {
            "card_id": "卡券ID1",
            "title": "商品名称1",
            "pic_url": "商品缩略图链接1",
            "desc": "商品简介1"
          },
          {
            "card_id": "卡券ID2",
            "title": "商品名称2",
            "pic_url": "商品缩略图链接2",
            "desc": "商品简介2"
          },
          {
            "card_id": "卡券ID3",
            "title": "商品名称3",
            "pic_url": "商品缩略图链接3",
            "desc": "商品简介3"
          }
        ],
        "category_index": 2
      }
    ],


    "category_list": [
      {
        "title": "分类一"
      }
    ],
    "address": "泉州中山路专卖店",
    "service_phone": "13559053751",
    "biz_description": "退款指引",
    "cell_1": {
      "title": "申请fa piao",
      "url": "http://baidu.com"
    },
    "cell_2": {
      "title": "申请退款",
      "url": "http://baidu.com"
    }
  }
}

[此贴子已经被作者于2018/5/9 18:05:03编辑过]

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


加好友 发短信
等级:九尾狐 帖子:2355 积分:16187 威望:0 精华:0 注册:2013/9/1 8:09:00
  发帖心情 Post By:2018/5/9 18:22:00 [显示全部帖子]

甜老师,代码是这样:
Functions.Execute("加载单个表","微信礼品卡货架")

Dim url As String = "https://api.weixin.qq.com/card/giftcard/page/add?access_token={0}"
Dim jo As New JObject
Dim hc As New HttpClient(CExp(url,Functions.Execute("GetAccessToken")))
jo("page") = New JObject
jo("page")("page_title") = "礼品卡标题"
jo("page")("support_multi") = True
jo("page")("support_buy_for_self") = True
jo("page")("banner_pic_url") = "http://mmbiz.qpic.cn/mmbiz_jpg/ahyj0ppmibfrTLNaiaZmqK71SDT5pDPzeCfxdWJL5MibJiahDOmIdytzZicotiaSjm0n0Y9LyuhnIos62KR3GO7rKzpw/0?wx_fmt=jpeg"
jo("page")("support_multi") = True

Dim ar As New JArray
Dim i As Integer = 0
For Each r1 As DataRow In DataTables("微信礼品卡货架").Select("主题分类名称 = '分类一'")
    Dim ao As New JObject
    ao("theme_pic_url") = r1("主题封面链接").Tostring
    ao("title") = r1("主题名称").Tostring
    ao("title_color") = r1("主题名称颜色").Tostring
    ar.add(ao)
    jo("page")("theme_list") = ar
    
    Dim ar2 As New JArray
    For Each r2 As DataRow In DataTables("微信礼品卡货架").Select("主题名称 = '" & r1("主题名称") & "'")
        Dim ao2 As New JObject
        ao2("card_id") = r2("卡券ID").tostring
        ao2("title") = r2("商品名称").tostring
        ao2("pic_url") = r2("商品缩略图链接").tostring
        ao2("desc") = r2("商品简介").tostring
        ar2.add(ao2)
    Next
    ao("item_list") = ar2
    ao("category_index")= i
    i += 1
Next

Dim ar4 As New JArray
Dim ao4 As New JObject
ao4("title") = "分类一"
ar4.add(ao4)
jo("page")("category_list") = ar4


jo("page")("address") = "泉州中山路专卖店"
jo("page")("service_phone") = "13559053751"
jo("page")("biz_description") = "退款指引"
jo("page")("cell_1") = New JObject
jo("page")("cell_1")("title") = "申请fa piao"
jo("page")("cell_1")("url") = "http://baidu.com"
jo("page")("cell_2") = New JObject
jo("page")("cell_2")("title") = "申请退款"
jo("page")("cell_2")("url") = "http://baidu.com"

hc.Content = jo.ToString()
'jo = JObject.Parse(hc.GetData)
hc.GetData
output.show(jo.Tostring)


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


加好友 发短信
等级:九尾狐 帖子:2355 积分:16187 威望:0 精华:0 注册:2013/9/1 8:09:00
  发帖心情 Post By:2018/5/9 23:02:00 [显示全部帖子]

老师,做好了
accesstoke 不必理会,只要看json结构就可以

图片点击可在新窗口打开查看此主题相关图片如下:微信截图_20180509225759.png
图片点击可在新窗口打开查看
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:测试微信礼品卡.zip



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


加好友 发短信
等级:九尾狐 帖子:2355 积分:16187 威望:0 精华:0 注册:2013/9/1 8:09:00
  发帖心情 Post By:2018/5/10 10:48:00 [显示全部帖子]

甜老师,

图片点击可在新窗口打开查看此主题相关图片如下:微信截图_20180510104717.png
图片点击可在新窗口打开查看
同一个分类下,两个主题,就会只出来一个主题,结果如下:
{
  "page": {
    "page_title": "礼品卡标题",
    "support_multi": true,
    "support_buy_for_self": true,
    "banner_pic_url": "http://",
    "theme_list": [
      {
        "theme_pic_url": "主题封面链接1",
        "title": "主题名称1",
        "title_color": "主题名称颜色1",
        "item_list": [
          {
            "card_id": "卡券ID1",
            "title": "商品名称1",
            "pic_url": "商品缩略图链接1",
            "desc": "商品简介1"
          },
          {
            "card_id": "卡券ID2",
            "title": "商品名称2",
            "pic_url": "商品缩略图链接2",
            "desc": "商品简介2"
          }
        ],
        "category_index": 0
      }
    ],
    "category_list": [
      {
        "title": "分类1"
      }
    ],
    "address": "泉州中山路专卖店",
    "service_phone": "13559053751",
    "biz_description": "退款指引",
    "cell_1": {
      "title": "申请fa piao",
      "url": "http://baidu.com"
    },
    "cell_2": {
      "title": "申请退款",
      "url": "http://baidu.com"
    }
  }
}


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


加好友 发短信
等级:九尾狐 帖子:2355 积分:16187 威望:0 精华:0 注册:2013/9/1 8:09:00
  发帖心情 Post By:2018/5/10 11:51:00 [显示全部帖子]

恩恩,甜老师,我这样改了,基本OK了,就是不知道为什么主题名称2下面没有出来商品
但是output.show 里面有内容,json没有出来

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

Dim Arys As List(Of String())
Arys = DataTables("微信礼品卡货架").GetValues("主题分类名称|主题名称")
For Each s As String() In Arys
    Dim r1 As DataRow = DataTables("微信礼品卡货架").find("主题分类名称 = '" & s(0) & "' and 主题名称 = '" & s(1) & "'  ")
    output.show("r1" & r1("主题分类名称") & "|" & r1("主题名称"))
    Dim ao As New JObject
    ao("theme_pic_url") = r1("主题封面链接").Tostring
    ao("title") = r1("主题名称").Tostring
    ao("title_color") = r1("主题名称颜色").Tostring
    ar.add(ao)
    jo("page")("theme_list") = ar
    Dim ar2 As New JArray
    For Each r2 As DataRow In DataTables("微信礼品卡货架").Select("主题名称 = '" & r1("主题名称") & "'")
        output.show("r2" & r2("主题分类名称") & "|" & r2("主题名称") & "|" & r2("商品名称"))
        Dim ao2 As New JObject
        ao2("card_id") = r2("卡券ID").tostring
        ao2("title") = r2("商品名称").tostring
        ao2("pic_url") = r2("商品缩略图链接").tostring
        ao2("desc") = r2("商品简介").tostring
        ar2.add(ao2)
    Next
    ao("item_list") = ar2
    ao("category_index")= i
    output.show(i)
    i += 1    
Next
output.show(jo.Tostring)


结果如下:
r1分类1|主题名称1
r2分类1|主题名称1|商品名称1
r2分类1|主题名称1|商品名称2
0
r1分类1|主题名称2
r2分类1|主题名称2|商品名称3
1
{
  "page": {
    "theme_list": [
      {
        "theme_pic_url": "主题封面链接1",
        "title": "主题名称1",
        "title_color": "主题名称颜色1",
        "item_list": [
          {
            "card_id": "卡券ID1",
            "title": "商品名称1",
            "pic_url": "商品缩略图链接1",
            "desc": "商品简介1"
          },
          {
            "card_id": "卡券ID2",
            "title": "商品名称2",
            "pic_url": "商品缩略图链接2",
            "desc": "商品简介2"
          }
        ],
        "category_index": 0
      },
      {
        "theme_pic_url": "主题封面链接1",
        "title": "主题名称2",
        "title_color": "主题名称颜色1"
      }
    ]
  }
}

[此贴子已经被作者于2018/5/10 11:56:16编辑过]

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


加好友 发短信
等级:九尾狐 帖子:2355 积分:16187 威望:0 精华:0 注册:2013/9/1 8:09:00
  发帖心情 Post By:2018/5/10 12:04:00 [显示全部帖子]

好像最后一个主题名称的item_list都不会出来

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


加好友 发短信
等级:九尾狐 帖子:2355 积分:16187 威望:0 精华:0 注册:2013/9/1 8:09:00
  发帖心情 Post By:2018/5/11 16:13:00 [显示全部帖子]

搞定了,谢谢甜老师!!!

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