分享使用接口调用的示例代码,篮球数据【积分、联盟排名】接口
package com.huaying.demo.basketball;
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;
/**
* 13.积分、联盟排名
*
*/
public class BasketballTeamScore {
public static void main(String[] args) {
try {
String content = getContent();
JAXBContext jaxbContext = JAXBContext.newInstance(ResultList.class);
Unmarshaller unmarshaller = jaxbContext.createUnmarshaller();
ResultList list = (ResultList) unmarshaller.unmarshal(new ByteArrayInputStream(content.getBytes()));
list.getResultList().forEach(System.out::println);
} catch (Throwable t) {
t.printStackTrace();
}
}
/**
* 获取API返回内容
* <p>
* Note: 这里为了方便测试我使用了一份本地文件,使用时应替换为真实接口返回内容
*/
private static String getContent() {
try {
StringBuilder builder = new StringBuilder();
List<String> lines = Files.readAllLines(Paths.get("./src/main/resources/BasketballTeamScore.xml"), StandardCharsets.UTF_8);
lines.forEach(line -> builder.append(line));
return builder.toString();
} catch (Throwable t) {
t.printStackTrace();
return "";
}
}
@XmlRootElement(name = "list")
public static class ResultList {
@XmlElement(name = "i")
private List<TeamScore> itemList;
public List<TeamScore> getResultList() {
return itemList;
}
}
public static class TeamScore{
@XmlElement(name = "league")
private String league;
@XmlElement(name = "TeamID")
private String teamId;
@XmlElement(name = "Name")
private String name;
@XmlElement(name = "matchSeason")
private String matchSeason;
@XmlElement(name = "homewin")
private String homeWin;
@XmlElement(name = "homeloss")
private String homeLoss;
@XmlElement(name = "awaywin")
private String awayWin;
@XmlElement(name = "awayloss")
private String awayLoss;
@XmlElement(name = "WinScale")
private String winScale;
@XmlElement(name = "state")
private String state;
@XmlElement(name = "homeOrder")
private String homeOrder;
@XmlElement(name = "awayOrder")
private String awayOrder;
@XmlElement(name = "TotalOrder")
private String totalOrder;
@XmlElement(name = "HomeScore")
private String homeScore;
@XmlElement(name = "HomeLossScore")
private String homeLossScore;
@XmlElement(name = "awayScore")
private String awayScore;
@XmlElement(name = "awayLossScore")
private String awayLossScore;
@XmlElement(name = "Near10Win")
private String near10Win;
@XmlElement(name = "Near10loss")
private String near10Loss;
@Override
public String toString() {
return "TeamScore{" +
"league='" + league + '\'' +
", teamId='" + teamId + '\'' +
", name='" + name + '\'' +
", matchSeason='" + matchSeason + '\'' +
", homeWin='" + homeWin + '\'' +
", homeLoss='" + homeLoss + '\'' +
", awayWin='" + awayWin + '\'' +
", awayLoss='" + awayLoss + '\'' +
", winScale='" + winScale + '\'' +
", state='" + state + '\'' +
", homeOrder='" + homeOrder + '\'' +
", awayOrder='" + awayOrder + '\'' +
", totalOrder='" + totalOrder + '\'' +
", homeScore='" + homeScore + '\'' +
", homeLossScore='" + homeLossScore + '\'' +
", awayScore='" + awayScore + '\'' +
", awayLossScore='" + awayLossScore + '\'' +
", near10Win='" + near10Win + '\'' +
", near10Loss='" + near10Loss + '\'' +
'}';
}
}
}
API 返回数据如下(部分):
TeamScore{league='NBA 东部联盟', teamId='15', name='多伦多猛龙', matchSeason='17-18', homeWin='34', homeLoss='7', awayWin='25', awayLoss='16', winScale='72', state='-1', homeOrder='1', awayOrder='2', totalOrder='1', homeScore='4599', homeLossScore='4171', awayScore='4557', awayLossScore='4347', near10Win='6', near10Loss='4'}
TeamScore{league='NBA 东部联盟', teamId='2', name='波士顿凯尔特人', matchSeason='17-18', homeWin='27', homeLoss='14', awayWin='28', awayLoss='13', winScale='67.1', state='1', homeOrder='4', awayOrder='1', totalOrder='2', homeScore='4318', homeLossScore='4127', awayScore='4211', awayLossScore='4108', near10Win='6', near10Loss='4'}
TeamScore{league='NBA 东部联盟', teamId='7', name='费城76人', matchSeason='17-18', homeWin='30', homeLoss='11', awayWin='22', awayLoss='19', winScale='63.4', state='16', homeOrder='2', awayOrder='3', totalOrder='3', homeScore='4576', homeLossScore='4240', awayScore='4428', awayLossScore='4395', near10Win='10', near10Loss='0'}
TeamScore{league='NBA 东部联盟', teamId='16', name='克里夫兰骑士', matchSeason='17-18', homeWin='29', homeLoss='12', awayWin='21', awayLoss='20', winScale='61', state='-1', homeOrder='3', awayOrder='4', totalOrder='4', homeScore='4570', homeLossScore='4525', awayScore='4521', awayLossScore='4489', near10Win='7', near10Loss='3'}
TeamScore{league='NBA 东部联盟', teamId='10', name='印第安纳步行者', matchSeason='17-18', homeWin='27', homeLoss='14', awayWin='21', awayLoss='20', winScale='58.5', state='-1', homeOrder='5', awayOrder='5', totalOrder='5', homeScore='4384', homeLossScore='4261', awayScore='4272', awayLossScore='4282', near10Win='7', near10Loss='3'}
TeamScore{league='NBA 东部联盟', teamId='3', name='迈阿密热火', matchSeason='17-18', homeWin='26', homeLoss='15', awayWin='18', awayLoss='23', winScale='53.7', state='1', homeOrder='6', awayOrder='8', totalOrder='6', homeScore='4290', homeLossScore='4206', awayScore='4190', awayLossScore='4235', near10Win='5', near10Loss='5'}


被折叠的 条评论
为什么被折叠?



