zoukankan      html  css  js  c++  java
  • asp.net 输出微信自定义菜单json

    不多说了直接上代码

    要引用 using LitJson;

    // 根据Menu列表生成符合微信规范的创建菜单JSon
            //一级菜单不超过3个,二级菜单不超过5个
            //微信唯一标示
            //菜单列表,type为click时url留空,view时key留空
            public string CreateMenuJson()
            {
                DataTable table = new wxMenuModels().getTable();
                DataRow[] dt = table.Select("wx_parent=0");
                JsonData jd = new JsonData();
                jd["button"] = new JsonData();
                foreach(DataRow h in dt)
                {
                    if(Convert.ToInt32(h["IsSub"])==1)//有子菜单
                    {
                        JsonData json = new JsonData();
                        json["name"] = h["wx_name"].ToString();
                        json["sub_button"] = new JsonData();
                        DataRow[] dtt = table.Select("wx_parent="+h["wx_ID"].ToString());
                        foreach(DataRow hh in dtt)
                        {
                            JsonData tempJson = new JsonData();
                            tempJson["type"] = hh["wx_type"].ToString();
                            tempJson["name"] = hh["wx_name"].ToString();
                            if(!string.IsNullOrEmpty(hh["wx_key"].ToString()))
                            {
                                tempJson["key"] = hh["wx_key"].ToString();
                            }
                            else
                            {
                                tempJson["url"] = hh["wx_url"].ToString();
                            }
                            json["sub_button"].Add(tempJson);
                        }
                        jd["button"].Add(json);
                    }
                    else //无子菜单
                    {
                        JsonData tempJson = new JsonData();
                        tempJson["type"] = h["wx_type"].ToString();
                        tempJson["name"] = h["wx_name"].ToString();
                        if (!string.IsNullOrEmpty(h["wx_key"].ToString()))
                        {
                            tempJson["key"] = h["wx_key"].ToString();
                        }
                        else
                        {
                            tempJson["url"] = h["wx_url"].ToString();
                        }
                        jd["button"].Add(tempJson);
                    }
                }
                return jd.ToJson();
            }
  • 相关阅读:
    disruptor和ArrayBlockingQueue和LinkedBlockingQueue队列性能对比
    守护线程的作用和前台线程的区别
    tomcat导入idea作为maven项目
    百度网盘不限速
    netty ChannelOption参数 backlog 和 somaxconn同时设置才会生效
    dubbo的初探
    IDEA的常用快捷键
    Lucene简单了解和使用
    Hadoop的简单了解与安装
    Nginx的简单了解与使用
  • 原文地址:https://www.cnblogs.com/sunheyubo/p/9835788.html
Copyright © 2011-2022 走看看