博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java实现微信菜单json字符串拼接
阅读量:6855 次
发布时间:2019-06-26

本文共 5111 字,大约阅读时间需要 17 分钟。

Java实现微信菜单json字符串拼接

微信菜单拼接json字符串方法

 

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>.

蕃薯耀 2016年3月31日 22:22:53 星期四

http://fanshuyao.iteye.com/

 

微信菜单json拼接方法:

 

 

private String getWxButtonJson(List
wxButtonsParent){ StringBuffer sb = new StringBuffer("{"); sb.append("\"").append("button").append("\"").append(":").append("["); for (WxButton wxButton : wxButtonsParent) { sb.append("{"); sb.append("\"").append("name").append("\"").append(":").append("\"").append(wxButton.getName()).append("\"").append(","); if(wxButton.getSub_buttons().size() > 0){ sb.append("\"").append("sub_button").append("\"").append(":").append("["); StringBuffer subStringBuffer = new StringBuffer(""); for (WxButton sub : wxButton.getSub_buttons()) { subStringBuffer.append("{"); subStringBuffer.append("\"").append("name").append("\"").append(":").append("\"").append(sub.getName()).append("\"").append(","); subStringBuffer.append("\"").append("type").append("\"").append(":").append("\"").append(sub.getType().toLowerCase()).append("\"").append(","); if(ButtonType.CLICK.toString().equalsIgnoreCase(sub.getType())){ subStringBuffer.append("\"").append("key").append("\"").append(":").append("\"").append(sub.getKey()).append("\"").append(","); }else{ subStringBuffer.append("\"").append("url").append("\"").append(":").append("\"").append(sub.getUrl()).append("\"").append(","); } if(subStringBuffer.indexOf(",") > -1){ subStringBuffer.deleteCharAt(subStringBuffer.lastIndexOf(",")); } subStringBuffer.append("}").append(","); } if(subStringBuffer.indexOf(",") > -1){ subStringBuffer.deleteCharAt(subStringBuffer.lastIndexOf(",")); } sb.append(subStringBuffer).append("]"); }else{ sb.append("\"").append("type").append("\"").append(":").append("\"").append(wxButton.getType().toLowerCase()).append("\"").append(","); if(ButtonType.CLICK.toString().equalsIgnoreCase(wxButton.getType())){ sb.append("\"").append("key").append("\"").append(":").append("\"").append(wxButton.getKey()).append("\"").append(","); }else{ sb.append("\"").append("url").append("\"").append(":").append("\"").append(wxButton.getUrl()).append("\"").append(","); } if(sb.indexOf(",") > -1){ sb.deleteCharAt(sb.lastIndexOf(",")); } } sb.append("}").append(","); } if(sb.indexOf(",") > -1){ sb.deleteCharAt(sb.lastIndexOf(",")); } sb.append("]}"); return sb.toString(); }

 

 

WxButton 菜单按钮类:

 

 

package com.lqy.spring.iwx.bean.weixin;import java.util.ArrayList;import java.util.List;import javax.persistence.Column;import javax.persistence.Entity;import javax.persistence.FetchType;import javax.persistence.JoinColumn;import javax.persistence.ManyToOne;import javax.persistence.Transient;import com.lqy.spring.iwx.bean.BaseBean;@Entity(name="wx_button")public class WxButton extends BaseBean {		private static final long serialVersionUID = -8474453778646031334L;		/**	 * 菜单标题,不超过16个字节,子菜单不超过40个字节	 * 一级菜单最多4个汉字,二级菜单最多7个汉字	 */	protected String name;	/**	 * 菜单的响应动作类型	 */	protected String type;	/**	 * 菜单KEY值,用于消息接口推送,不超过128字节	 */	protected String key;	/**	 * 网页链接,用户点击菜单可打开链接,不超过1024字节	 */	protected String url;	/**	 * 调用新增永久素材接口返回的合法media_id	 */	protected String media_id;	/**	 * 二级菜单数组,个数应为1~5个	 */	protected List
sub_buttons = new ArrayList
(); protected WxButton wxButtonParent; @Column(length=20,nullable=false) public String getName() { return name; } public void setName(String name) { this.name = name; } @Column(nullable=false) public String getType() { return type; } public void setType(String type) { this.type = type; } @Column(length=64,unique=true,name="`key`") public String getKey() { return key; } public void setKey(String key) { this.key = key; } @Column public String getUrl() { return url; } public void setUrl(String url) { this.url = url; } @Column(unique=true) public String getMedia_id() { return media_id; } public void setMedia_id(String media_id) { this.media_id = media_id; } @Transient public List
getSub_buttons() { return sub_buttons; } public void setSub_buttons(List
sub_buttons) { this.sub_buttons = sub_buttons; } @ManyToOne(fetch=FetchType.EAGER, optional=true) @JoinColumn(name="wx_button_parent_uid") public WxButton getWxButtonParent() { return wxButtonParent; } public void setWxButtonParent(WxButton wxButtonParent) { this.wxButtonParent = wxButtonParent; } @Override public String toString() { return "WxButton [name=" + name + ", type=" + type + ", key=" + key + ", url=" + url + ", media_id=" + media_id + ", sub_buttons=" + sub_buttons + ", wxButtonParent=" + wxButtonParent + ", uid=" + uid + ", createTime=" + createTime + ", createUser=" + createUser + ", updateTime=" + updateTime + ", updateUser=" + updateUser + ", startTime=" + startTime + ", endTime=" + endTime + ", statusType=" + statusType + ", ipAddress=" + ipAddress + ", remark=" + remark + "]"; } }

 

 

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>.

蕃薯耀 2016年3月31日 22:22:53 星期四

http://fanshuyao.iteye.com/

转载地址:http://fayyl.baihongyu.com/

你可能感兴趣的文章
第80节:Java中的MVC设计模式
查看>>
区块链100讲:以实例形式深入浅出讲透BANCOR算法
查看>>
Java并发编程 深入剖析volatile关键字
查看>>
Vue基础
查看>>
Flutter(一)之Flutter的的简单入门分析
查看>>
【Vue源码学习】Virtual Dom 原理解析
查看>>
js 中有哪些拷贝的方式
查看>>
k8s简单了解
查看>>
Quartz学习-通过binlog分析Quartz启动及集群的Failover
查看>>
当下流行的UI框架
查看>>
Python从零开始系列连载(21)——Python特色数据类型(元组)(下)
查看>>
[掘金专题] Google I/O 2017 已经结束,我们该如何评价?
查看>>
【适合新手入门计算机行业】计算机科学速成课-中英双语全40集
查看>>
【iOS报错】“The operation couldn’t be completed (LaunchServicesError erro
查看>>
深入剖析Vue源码 - 选项合并(下)
查看>>
vue父、子、孙组件间数据传递、事件传递
查看>>
React 源码解析之总览
查看>>
Gulp
查看>>
Js数组方法解析
查看>>
Java比特币开发教程: 创建比特币钱包
查看>>