这篇文章主要介绍了Java微信开发中使用XML格式和JSON格式数据的示例,注意一下json-lib所需要的jar包,需要的朋友可以参考下

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_tokenpackage 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;

}

}

额 大体就是这样

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐