Java的微信开发中使用XML格式和JSON格式数据的示例

时间:2021-05-20

XML
微信XML消息model定义:

package cn.wx.server; import org.dom4j.Document;import org.dom4j.DocumentException;import org.dom4j.DocumentHelper;import org.dom4j.Element; /** * @title cn.wx.serverXMLMsg.java * @todo TODO * @author lpe234 * @time 2014年5月21日下午2:13:27 */public class XMLMsg {//普通消息基本变量 String ToUserName; String FromUserName; String CreateTime; String MsgType; String Content; String MsgId;//事件推送变量 String Event;//自定义菜单项 String EventKey; public String getEventKey() { return EventKey; } public void setEventKey(String eventKey) { EventKey = eventKey; } public XMLMsg(String str) throws DocumentException { Document doc = DocumentHelper.parseText(str); Element root = doc.getRootElement(); this.ToUserName = root.elementText("ToUserName"); this.FromUserName = root.elementText("FromUserName"); this.CreateTime = root.elementText("CreateTime"); this.MsgType = root.elementText("MsgType"); this.Content = root.elementText("Content"); this.MsgId = root.elementText("MsgId"); this.Event = root.elementText("Event"); this.EventKey = root.elementText("EventKey"); } public String getEvent() { return Event; } public void setEvent(String event) { Event = event; } public String getToUserName() { return ToUserName; } public void setToUserName(String toUserName) { ToUserName = toUserName; } public String getFromUserName() { return FromUserName; } public void setFromUserName(String fromUserName) { FromUserName = fromUserName; } public String getCreateTime() { return CreateTime; } public void setCreateTime(String createTime) { CreateTime = createTime; } public String getMsgType() { return MsgType; } public void setMsgType(String msgType) { MsgType = msgType; } public String getContent() { return Content; } public void setContent(String content) { Content = content; } public String getMsgId() { return MsgId; } public void setMsgId(String msgId) { MsgId = msgId; }}


JSON
这里我们使用json-lib,注意一下需要以下几个jar包的支持:

  • json-lib-2.4-jdk15.jar
  • commons-logging-1.1.3.jar
  • ezmorph-1.0.6.jar
  • commons-lang-2.4.jar
  • commons-collections.jar
  • commons-beanutils-1.8.0.jar

以下是简单的AccessToken类,返回String类型的access_token

package cn.wx.server; import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.net.MalformedURLException;import java.net.URL;import java.net.URLConnection; import net.sf.json.JSONObject; public class AccessToken { /** * 根据注册信息,获得的参数,提交get请求,获得accessTkoen * @author lpe234 * @time 2014-5-21 00:52:15 */ String appID = "XXXXXXXXXXXXXX"; String appsecret = "XXXXXXXXXXXXXXXXX";//微信服务号或者申请测试账号的订阅号才有。。。 String preUrl = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=%s&secret=%s"; String tempUrl = String.format(preUrl, appID, appsecret);/** 测试* public static void main(String[] args) {* AccessToken as = new AccessToken();* System.out.println(as.get());* }*/ //返回String类型access_token public String get() { String temp = null; temp = getJSON(); JSONObject j = JSONObject.fromObject(temp); temp = j.getString("access_token"); //System.out.println(temp); return temp; } // 获取wx服务器返回JSON数据,private内部调用 private String getJSON() { String temp = null; try { URL url = new URL(tempUrl); URLConnection conn = url.openConnection(); InputStreamReader isr = new InputStreamReader(conn.getInputStream()); BufferedReader br = new BufferedReader(isr); temp = br.readLine(); } catch (MalformedURLException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } //System.out.println(temp); return temp; }}

额 大体就是这样

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章