分享使用接口调用的示例代码,这次的解析和以前不同,是【即时指数2】
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.单盘口赔率:即时赔率接口
*/
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 lea