篮球数据API接口 - 【积分、联盟排名】API调用示例代码

分享使用接口调用的示例代码,篮球数据【积分、联盟排名】接口

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'}
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值