足球数据API接口 - 【即时指数2】API调用示例代码

本文提供了一种调用【即时指数2】足球数据API的示例,详细介绍了接口返回的部分数据内容。
摘要由CSDN通过智能技术生成

分享使用接口调用的示例代码,这次的解析和以前不同,是【即时指数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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值