Java での WeChat 開発における XML 形式と JSON 形式のデータの詳細な説明と使用例

高洛峰
リリース: 2017-03-28 14:17:11
オリジナル
2518 人が閲覧しました

この記事では、Java WeChat 開発での XML 形式と JSON 形式のデータの使用例を主に紹介します。必要な場合は、json-lib に必要な jar パッケージに注目してください。 WeChat XML メッセージ

モデル

定義:

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

  • 以下は、String 型の access_token を返す単純な AccessToken クラスです

    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;
     }
    }
    ログイン後にコピー
  • 大まかにはこれだけです

以上がJava での WeChat 開発における XML 形式と JSON 形式のデータの詳細な説明と使用例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート