数据应用文章详情
足球数据API接口 - 【即时指数】API调用示例代码
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
/**
* @API: 11.单盘口赔率:即时赔率接口
* @Website: https://www.feijing88.com
*/
public class FootballOdds {
public static void main(String[] args) {
Odds odds = new Odds();
odds.parse(getContent());
// 为了展示只输出3条数据,实际不止
odds.getLeagueList().subList(0, 3).forEach(System.out::println);
odds.getMatchList().subList(0, 3).forEach(System.out::println);
odds.getRangQiuList().subList(0, 3).forEach(System.out::println);
odds.getShengPingFuList().subList(0, 3).forEach(System.out::println);
odds.getDaXiaoList().subList(0, 3).forEach(System.out::println);
}
/**
* 获取API返回内容
*
* Note: 这里为了方便测试我使用了一份本地文件,使用时应替换为真实接口返回内容
*/
private static String getContent() {
try {
StringBuilder builder = new StringBuilder();
List<String> lines = Files.readAllLines(Paths.get("./src/main/resources/FootballBet.xml"), StandardCharsets.UTF_8);
lines.forEach(line -> builder.append(line));
return builder.toString();
} catch (Throwable t) {
t.printStackTrace();
return "";
}
}
public static class Odds {
private List<League> leagueList;
private List<Match> matchList;
private List<RangQiu> rangQiuList;
private List<ShengPingFu> shengPingFuList;
private List<DaXiao> daXiaoList;
public void parse(String data) {
String[] parts = data.split("\\$");
leagueList = Arrays.stream(parts[0].split(";"))
.map(s -> {
League obj = new League();
obj.parse(s);
return obj;
})
.collect(Collectors.toList());
matchList = Arrays.stream(parts[1].split(";"))
.map(s -> {
Match obj = new Match();
obj.parse(s);
return obj;
})
.collect(Collectors.toList());
rangQiuList = Arrays.stream(parts[2].split(";"))
.map(s -> {
RangQiu obj = new RangQiu();
obj.parse(s);
return obj;
})
.collect(Collectors.toList());
shengPingFuList = Arrays.stream(parts[3].split(";"))
.map(s -> {
ShengPingFu obj = new ShengPingFu();
obj.parse(s);
return obj;
})
.collect(Collectors.toList());
daXiaoList = Arrays.stream(parts[4].split(";"))
.map(s -> {
DaXiao obj = new DaXiao();
obj.parse(s);
return obj;
})
.collect(Collectors.toList());
}
public List<League> getLeagueList() {
return leagueList;
}
public List<Match> getMatchList() {
return matchList;
}
public List<RangQiu> getRangQiuList() {
return rangQiuList;
}
public List<ShengPingFu> getShengPingFuList() {
return shengPingFuList;
}
public List<DaXiao> getDaXiaoList() {
return daXiaoList;
}
}
public static class League {
private String leagueId;
private int type;
private String leagueNameGb;
private String leagueNameBig;
private String leagueNameEn;
public void parse(String data) {
String[] values = data.split(",");
leagueId = values[0];
type = Integer.valueOf(values[1]);
leagueNameGb = values[3];
leagueNameBig = values[4];
leagueNameEn = values[5];
}
@Override
public String toString() {
return "League{" +
"leagueId='" + leagueId + '\'' +
", type=" + type +
", leagueNameGb='" + leagueNameGb + '\'' +
", leagueNameBig='" + leagueNameBig + '\'' +
", leagueNameEn='" + leagueNameEn + '\'' +
'}';
}
}
public static class Match {
private String matchId;
private String leagueId;
private String matchTime;
private String startTime;
private String homeTeamId;
private String homeTeamNameGb;
private String homeTeamNameBig;
private String homeTeamNameEn;
private String homeTeamRank;
private String awayTeamId;
private String awayTeamNameGb;
private String awayTeamNameBig;
private String awayTeamNameEn;
private String awayTeamRank;
private int matchStatus;
private int homeTeamScore;
private int awayTeamScore;
private int homeRed;
private int awayRed;
private int homeYellow;
private int awayYellow;
public void parse(String data) {
String[] values = data.split(",");
matchId = values[0];
leagueId = values[1];
matchTime = values[2];
startTime = values[3];
homeTeamId = values[4];
homeTeamNameGb = values[5];
homeTeamNameBig = values[6];
homeTeamNameEn = values[7];
homeTeamRank = values[8];
awayTeamId = values[9];
awayTeamNameGb = values[10];
awayTeamNameBig = values[11];
awayTeamNameEn = values[12];
awayTeamRank = values[13];
matchStatus = Integer.valueOf(values[14]);
homeTeamScore = Integer.valueOf(values[15]);
awayTeamScore = Integer.valueOf(values[16]);
homeRed = Integer.valueOf(values[20]);
awayRed = Integer.valueOf(values[21]);
homeYellow = Integer.valueOf(values[22]);
awayYellow = Integer.valueOf(values[23]);
}
@Override
public String toString() {
return "Match{" +
"matchId='" + matchId + '\'' +
", leagueId='" + leagueId + '\'' +
", matchTime='" + matchTime + '\'' +
", startTime='" + startTime + '\'' +
", homeTeamId='" + homeTeamId + '\'' +
", homeTeamNameGb='" + homeTeamNameGb + '\'' +
", homeTeamNameBig='" + homeTeamNameBig + '\'' +
", homeTeamNameEn='" + homeTeamNameEn + '\'' +
", homeTeamRank=" + homeTeamRank +
", awayTeamId='" + awayTeamId + '\'' +
", awayTeamNameGb='" + awayTeamNameGb + '\'' +
", awayTeamNameBig='" + awayTeamNameBig + '\'' +
", awayTeamNameEn='" + awayTeamNameEn + '\'' +
", awayTeamRank=" + awayTeamRank +
", matchStatus=" + matchStatus +
", homeTeamScore=" + homeTeamScore +
", awayTeamScore=" + awayTeamScore +
", homeRed=" + homeRed +
", awayRed=" + awayRed +
", homeYellow=" + homeYellow +
", awayYellow=" + awayYellow +
'}';
}
}
public static class RangQiu {
private String matchId;
private String companyId;
private String initHandicap;
private String initHomeOdds;
private String initAwayOdds;
private String handicap;
private String homeOdds;
private String awayOdds;
private String disable;
private String time;
public void parse(String data) {
String[] values = data.split(",");
matchId = values[0];
companyId = values[1];
initHandicap = values[2];
initHomeOdds = values[3];
initAwayOdds = values[4];
handicap = values[5];
homeOdds = values[6];
awayOdds = values[7];
disable = values[8];
time = values[10];
}
@Override
public String toString() {
return "RangQiu{" +
"matchId='" + matchId + '\'' +
", companyId='" + companyId + '\'' +
", initHandicap='" + initHandicap + '\'' +
", initHomeOdds='" + initHomeOdds + '\'' +
", initAwayOdds='" + initAwayOdds + '\'' +
", handicap='" + handicap + '\'' +
", homeOdds='" + homeOdds + '\'' +
", awayOdds='" + awayOdds + '\'' +
", disable='" + disable + '\'' +
", time='" + time + '\'' +
'}';
}
}
public static class ShengPingFu {
private String matchId;
private String companyId;
private String initHomeOdds;
private String initDrawOdds;
private String initAwayOdds;
private String homeOdds;
private String drawOdds;
private String awayOdds;
private String time;
private String disable;
public void parse(String data) {
String[] values = data.split(",");
matchId = values[0];
companyId = values[1];
initHomeOdds = values[2];
initDrawOdds = values[3];
initAwayOdds = values[4];
homeOdds = values[5];
drawOdds = values[6];
awayOdds = values[7];
time = values[8];
disable = values[9];
}
@Override
public String toString() {
return "ShengPingFu{" +
"matchId='" + matchId + '\'' +
", companyId='" + companyId + '\'' +
", initHomeOdds='" + initHomeOdds + '\'' +
", initDrawOdds='" + initDrawOdds + '\'' +
", initAwayOdds='" + initAwayOdds + '\'' +
", homeOdds='" + homeOdds + '\'' +
", drawOdds='" + drawOdds + '\'' +
", awayOdds='" + awayOdds + '\'' +
", time='" + time + '\'' +
", disable='" + disable + '\'' +
'}';
}
}
public static class DaXiao {
private String matchId;
private String companyId;
private String initHandicap;
private String initBigOdds;
private String initSmallOdds;
private String handicap;
private String bigOdds;
private String smallOdds;
private String time;
private String disable;
public void parse(String data) {
String[] values = data.split(",");
matchId = values[0];
companyId = values[1];
initHandicap = values[2];
initBigOdds = values[3];
initSmallOdds = values[4];
handicap = values[5];
bigOdds = values[6];
smallOdds = values[7];
time = values[8];
disable = values[9];
}
@Override
public String toString() {
return "DaXiao{" +
"matchId='" + matchId + '\'' +
", companyId='" + companyId + '\'' +
", initHandicap='" + initHandicap + '\'' +
", initBigOdds='" + initBigOdds + '\'' +
", initSmallOdds='" + initSmallOdds + '\'' +
", handicap='" + handicap + '\'' +
", bigOdds='" + bigOdds + '\'' +
", smallOdds='" + smallOdds + '\'' +
", time='" + time + '\'' +
", disable='" + disable + '\'' +
'}';
}
}
}
API 返回数据如下:
League{leagueId='103', type=2, leagueNameGb='欧冠杯', leagueNameBig='歐冠盃', leagueNameEn='UEFA CL'}
League{leagueId='37', type=1, leagueNameGb='英冠', leagueNameBig='英冠', leagueNameEn='ENG LCH'}
League{leagueId='9', type=1, leagueNameGb='德乙', leagueNameBig='德乙', leagueNameEn='GER D2'}
Match{matchId='1756009', leagueId='41', matchTime='1563863100000', startTime='1563867234500', homeTeamId='17127', homeTeamNameGb='博乐大学', homeTeamNameBig='博樂大學', homeTeamNameEn='Kasem Bundit University FC', homeTeamRank=泰乙17, awayTeamId='44377', awayTeamNameGb='苏南达大学', awayTeamNameBig='蘇南達大學', awayTeamNameEn='Suan Sunandha Rajabhat University', awayTeamRank=, matchStatus=3, homeTeamScore=1, awayTeamScore=0, homeRed=0, awayRed=0, homeYellow=2, awayYellow=3}
Match{matchId='1755962', leagueId='1521', matchTime='1563865200000', startTime='1563868778427', homeTeamId='25089', homeTeamNameGb='克赖斯特彻奇联', homeTeamNameBig='克賴斯特徹奇聯', homeTeamNameEn='Christchurch United', homeTeamRank=, awayTeamId='43830', awayTeamNameGb='AFC大学', awayTeamNameBig='AFC大學', awayTeamNameEn='Universities AFC', awayTeamRank=, matchStatus=3, homeTeamScore=4, awayTeamScore=0, homeRed=0, awayRed=0, homeYellow=0, awayYellow=0}
Match{matchId='1755960', leagueId='2045', matchTime='1563865500000', startTime='1563868938103', homeTeamId='44375', homeTeamNameGb='广告体育会', homeTeamNameBig='广告体育会', homeTeamNameEn='AD Sport FC', homeTeamRank=, awayTeamId='44374', awayTeamNameGb='佩萨瓦兰', awayTeamNameBig='佩萨瓦兰', awayTeamNameEn='Putra Pesawaran FC', awayTeamRank=, matchStatus=3, homeTeamScore=3, awayTeamScore=1, homeRed=0, awayRed=0, homeYellow=2, awayYellow=0}
RangQiu{matchId='1626584', companyId='14', initHandicap='1.5', initHomeOdds='0.95', initAwayOdds='0.83', handicap='1.5', homeOdds='0.95', awayOdds='0.83', disable='False', time='2019-07-19 23:07:00'}
RangQiu{matchId='1650544', companyId='3', initHandicap='-0.5', initHomeOdds='0.76', initAwayOdds='1.13', handicap='-0.25', homeOdds='1.03', awayOdds='0.85', disable='False', time='2019-07-23 16:09:42'}
RangQiu{matchId='1650544', companyId='8', initHandicap='-0.5', initHomeOdds='0.74', initAwayOdds='1.18', handicap='-0.25', homeOdds='1.03', awayOdds='0.87', disable='False', time='2019-07-23 16:08:02'}
ShengPingFu{matchId='1626584', companyId='14', initHomeOdds='1.29', initDrawOdds='4.40', initAwayOdds='8.50', homeOdds='1.25', drawOdds='4.60', awayOdds='10.00', time='2019-07-19 22:58:00', disable='False'}
ShengPingFu{matchId='1650544', companyId='22', initHomeOdds='3.65', initDrawOdds='3.15', initAwayOdds='2.05', homeOdds='3.60', drawOdds='3.10', awayOdds='2.10', time='2019-07-23 15:10:00', disable='False'}
ShengPingFu{matchId='1650544', companyId='24', initHomeOdds='3.40', initDrawOdds='3.15', initAwayOdds='2.13', homeOdds='3.30', drawOdds='3.15', awayOdds='2.19', time='2019-07-22 22:17:00', disable='False'}
DaXiao{matchId='1626584', companyId='14', initHandicap='2.5', initBigOdds='0.88', initSmallOdds='0.89', handicap='2.5', bigOdds='0.88', smallOdds='0.89', time='2019-07-19 23:07:00', disable='False'}
DaXiao{matchId='1650544', companyId='3', initHandicap='2', initBigOdds='0.92', initSmallOdds='0.94', handicap='2', bigOdds='0.92', smallOdds='0.94', time='2019-07-22 22:11:35', disable='False'}
DaXiao{matchId='1650544', companyId='4', initHandicap='2.5', initBigOdds='1.45', initSmallOdds='0.50', handicap='2.5', bigOdds='1.50', smallOdds='0.50', time='2019-07-23 03:09:48', disable='False'}
相关推荐

立即测试

购买咨询