使用阿里云火车票查询接口案例—

简介: 使用阿里云火车票查询接口案例—

首先我们需要一个实体类,专门放火车票信息的封装类,实体类:

Train.java:

/**  
* @Title: Train.java
* @Package cn.bdqn.guanMingSys.entity
* @Description: TODO该方法的主要作用:
* @author A18ccms A18ccms_gmail_com  
* @date 2017-7-11 下午11:24:15
* @version V1.0  
*/
package cn.bdqn.HomeSys.entity;
 /**   
 *    
 * 项目名称:GuangMingSys   
 * 类名称:Train   
 * 类描述:   火车票的实体类
 * 创建人:Mu Xiongxiong  
 * 创建时间:2017-7-11 下午11:24:15   
 * 修改人:Mu Xiongxiong   
 * 修改时间:2017-7-11 下午11:24:15   
 * 修改备注:   
 * @version    
 *    
 */
public class Train {
  private String trainno;               //车次
  private String type;                  //类型
  private String departstation;         //始发站
  private String terminalstation;       //终点站
  private String station;               //经过站
  private String endstation;            //目的站
  private String starttime;             //开始时间
  private String endtime;               //结束时间
  private String costtime;              //历时
  private String day;                   //所用天数
  
  private String gr;                  //高级软卧
  private String qt;                    //其他
  private String rw;                //软卧
  private String rz;              //软座
  private String td;                  //特等座
  private String wz;                  //无座
  private String yw;                  //硬卧
  private String yz;                  //硬座
  private String ed;                  //二等座
  private String yd;                    //一等座
  private String sw;                  //商务座
  
  public String getTrainno() {
    return trainno;
  }
  public void setTrainno(String trainno) {
    this.trainno = trainno;
  }
  public String getType() {
    return type;
  }
  public void setType(String type) {
    this.type = type;
  }
  public String getDepartstation() {
    return departstation;
  }
  public void setDepartstation(String departstation) {
    this.departstation = departstation;
  }
  public String getTerminalstation() {
    return terminalstation;
  }
  public void setTerminalstation(String terminalstation) {
    this.terminalstation = terminalstation;
  }
  public String getStation() {
    return station;
  }
  public void setStation(String station) {
    this.station = station;
  }
  public String getEndstation() {
    return endstation;
  }
  public void setEndstation(String endstation) {
    this.endstation = endstation;
  }
  public String getStarttime() {
    return starttime;
  }
  public void setStarttime(String starttime) {
    this.starttime = starttime;
  }
  public String getEndtime() {
    return endtime;
  }
  public void setEndtime(String endtime) {
    this.endtime = endtime;
  }
  public String getCosttime() {
    return costtime;
  }
  public void setCosttime(String costtime) {
    this.costtime = costtime;
  }
  public String getDay() {
    return day;
  }
  public void setDay(String day) {
    this.day = day;
  }
  public String getGr() {
    return gr;
  }
  public void setGr(String gr) {
    this.gr = gr;
  }
  public String getQt() {
    return qt;
  }
  public void setQt(String qt) {
    this.qt = qt;
  }
  public String getRw() {
    return rw;
  }
  public void setRw(String rw) {
    this.rw = rw;
  }
  public String getRz() {
    return rz;
  }
  public void setRz(String rz) {
    this.rz = rz;
  }
  public String getTd() {
    return td;
  }
  public void setTd(String td) {
    this.td = td;
  }
  public String getWz() {
    return wz;
  }
  public void setWz(String wz) {
    this.wz = wz;
  }
  public String getYw() {
    return yw;
  }
  public void setYw(String yw) {
    this.yw = yw;
  }
  public String getYz() {
    return yz;
  }
  public void setYz(String yz) {
    this.yz = yz;
  }
  public String getEd() {
    return ed;
  }
  public void setEd(String ed) {
    this.ed = ed;
  }
  public String getYd() {
    return yd;
  }
  public void setYd(String yd) {
    this.yd = yd;
  }
  public String getSw() {
    return sw;
  }
  public void setSw(String sw) {
    this.sw = sw;
  }
  
  
  
}


然后我们把解析出来的json格式数据存放在实体类里面:

/**
   * 
  * @Title: getTaicket
  * @Description: 该方法的主要作用:按照出发站与终点站获取车票信息
  * @param   设定文件  
  * @return  返回类型:void   
  * @throws
   */
  public String getTaicket()
  {
     String path = "/train/ticket";
        Map<String, String> headers = new HashMap<String, String>();
        //最后在header中的格式(中间是英文空格)为Authorization:APPCODE 83359fd73fe94948385f570e3c139105
        headers.put("Authorization", "APPCODE " + appcode);
        Map<String, String> querys = new HashMap<String, String>();
        querys.put("date",startDate);
        querys.put("end",endAddress );
        querys.put("start", startAddress);
          HttpResponse response=null;
        try {
          response = HttpUtils.doGet(host, path, method, headers, querys);
        } catch (Exception e1) {
          // TODO 异常执行块!
          e1.printStackTrace();
        }
          String result=null;
        try {
          result = EntityUtils.toString(response.getEntity());
        } catch (ParseException e) {
          // TODO 异常执行块!
          e.printStackTrace();
        } catch (IOException e) {
          // TODO 异常执行块!
          e.printStackTrace();
        }
          JSONObject json = JSONObject.fromObject(result);
        if (json.getInt("status") != 0) {
          System.out.println(json.getString("msg"));
        } else {
          //JSONObject resultarr = json.optJSONObject("result");
          JSONArray resultarr = json.optJSONArray("result");
          for (Object obj : resultarr) {
            //將json转换成list集合
            jsonList = JSONArray.toList(resultarr,Train.class);
          }
          
        }
        return SUCCESS;
  }


相关文章
|
iOS开发 开发者
📝 App备案与iOS云管理式证书 ,公钥及证书SHA-1指纹的获取方法
在iOS应用程序开发过程中,进行App备案并获取公钥及证书SHA-1指纹是至关重要的步骤。本文将介绍如何通过appuploader工具获取iOS云管理式证书 Distribution Managed 公钥及证书SHA-1指纹,帮助开发者更好地理解和应用该过程。
|
消息中间件 Java Linux
rocketmq linux注册服务开机启动配置
rocketmq linux注册服务开机启动配置
778 1
|
JSON iOS开发 开发者
uniapp配置ios的Universal Link和associate domains
uniapp配置ios的Universal Link和associate domains
|
5月前
|
人工智能 缓存 前端开发
通义灵码2.5+qwen3——节假日抢票不用愁,基于12306-MCP实现个人火车票智能查询小助手!
本项目作为通义灵码2.5的深度实践案例,充分展现了通义灵码2.5编程智能体调用MCP实现大模型智能化工具的强大优势。
|
存储 弹性计算 运维
阿里巴巴云原生 etcd 服务集群管控优化实践
这些年,阿里云原生 etcd 服务发生了翻天覆地的变化,这篇文章主要分享一下 etcd 服务在面对业务量大规模增长下遇到的问题以及我们是如何解决的,希望对读者了解 etcd 的使用和管控运维提供经验分享。
阿里巴巴云原生 etcd 服务集群管控优化实践
|
12月前
|
机器学习/深度学习 传感器 自动驾驶
基于深度学习的图像识别技术在自动驾驶汽车中的应用####
【10月更文挑战第21天】 本文探讨了深度学习中的卷积神经网络(CNN)如何革新自动驾驶车辆的视觉感知能力,特别是在复杂多变的道路环境中实现高效准确的物体检测与分类。通过分析CNN架构设计、数据增强策略及实时处理优化等关键技术点,揭示了该技术在提升自动驾驶系统环境理解能力方面的潜力与挑战。 ####
406 0
|
自然语言处理 搜索推荐 Docker
CosyVoice实现声音复刻
这篇文章介绍了如何使用CosyVoice平台实现个性化的声音复刻,包括录制样本音频、上传处理以及生成定制化语音的全流程。
2141 6
CosyVoice实现声音复刻
|
JavaScript Java 测试技术
基于SpringBoot+Vue的企业资产管理系统的设计与实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue的企业资产管理系统的设计与实现(源码+lw+部署文档+讲解等)
170 4
|
JSON 缓存 移动开发
原创自研uniapp+vue3手机桌面os管理系统
vue3-uniapp-os一款基于uniapp+vue3跨端手机版后台os系统新解决方案。
691 3
|
人工智能 自然语言处理 安全
文生视频大模型
Sora 是由 OpenAI 发布的一款文本生成视频的人工智能模型,能够在理解文本的基础上生成高质量的视频内容。Sora 具备 3D 一致性、远程相干性和物体持久性等特性,但目前仍处于测试阶段,仅限特定专家使用,以确保其安全性。