足球数据API接口 - 【数据接口1】API调用示例代码

https://www.xxe.io/
package com.huaying.demo.football;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.Unmarshaller;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import java.io.ByteArrayInputStream;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.List;

/**

  • @API: 14.即时指数接口

  • @Website:https://www.xxe.io/
    */
    public class FootballOdds100 {

    public static void main(String[] args) {
    try {
    String content = getContent();

         JAXBContext jaxbContext = JAXBContext.newInstance(MatchList.class);
         Unmarshaller unmarshaller = jaxbContext.createUnmarshaller();
    
         MatchList matchList = (MatchList) unmarshaller.unmarshal(new ByteArrayInputStream(content.getBytes()));
         matchList.getMatchList().forEach(item -> System.out.println(item));
    
     } catch (Throwable t) {
         t.printStackTrace();
     }
    

    }

    /**

    • 获取API返回内容
    • Note: 这里为了方便测试我使用了一份本地文件,使用时应替换为真实接口返回内容
      */
      private static String getContent() {
      try {
      StringBuilder builder = new StringBuilder();
      List lines = Files.readAllLines(Paths.get("./src/main/resources/FootballBet100.xml"), StandardCharsets.UTF_8);
      lines.forEach(line -> builder.append(line));
      return builder.toString();
      } catch (Throwable t) {
      t.printStackTrace();
      return “”;
      }
      }

    @XmlRootElement(name = “c”)
    public static class MatchList {
    private List matchList;

     @XmlElement(name = "h")
     public List<Match> getMatchList() {
         return matchList;
     }
    
     public void setMatchList(List<Match> matchList) {
         this.matchList = matchList;
     }
    

    }

    public static class Match{
    @XmlElement(name = “id”)
    private String matchId;
    @XmlElement(name = “time”)
    private String matchTime;
    @XmlElement(name = “league”)
    private String leagueName;
    @XmlElement(name = “home”)
    private String homeTeamName;
    @XmlElement(name = “away”)
    private String awayTeamName;
    @XmlElement(name = “odds”)
    private List oddsList;

     @Override
     public String toString() {
         return "Match{" +
                 "matchId='" + matchId + '\'' +
                 ", matchTime='" + matchTime + '\'' +
                 ", leagueName='" + leagueName + '\'' +
                 ", homeTeamName='" + homeTeamName + '\'' +
                 ", awayTeamName='" + awayTeamName + '\'' +
                 ", oddsList=" + oddsList +
                 '}';
     }
    
     public String getMatchId() {
         return matchId;
     }
    
     public String getMatchTime() {
         return matchTime;
     }
    
     public String getLeagueName() {
         return leagueName;
     }
    
     public String getHomeTeamName() {
         return homeTeamName;
     }
    
     public String getAwayTeamName() {
         return awayTeamName;
     }
    
     public List<Odds> getOddsList() {
         return oddsList;
     }
    

    }

    private static class Odds{
    @XmlElement(name = “o”)
    private String item;

     @Override
     public String toString() {
         return "Odds{" +
                 "item='" + item + '\'' +
                 '}';
     }
    
     public String getItem() {
         return item;
     }
    

    }
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值