篮球数据API接口 - 【篮球直播】API调用示例代码

野子电竞数据官网改版https://www.xxe.io/全新登场
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.function.Function;
import java.util.stream.Collectors;
import java.util.stream.Stream;

/**

*/
public class BasketballTextLive {

public static void main(String[] args) {
    String content = getContent();

    List<TextLive> lives = Arrays.stream(content.split("\\$"))
            .flatMap((Function<String, Stream<String>>) s -> Arrays.stream(s.split("!")))
            .map(TextLive::parseFrom)
            .collect(Collectors.toList());

    lives.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/BasketballTextLive.xml"), StandardCharsets.UTF_8);
        lines.forEach(line -> builder.append(line));
        return builder.toString();
    } catch (Throwable t) {
        t.printStackTrace();
        return "";
    }
}

public static class TextLive {
    private String remainTime;
    private String flag;
    private int homeScore;
    private int awayScore;
    private String text;
    private String recordId;
    private int matchStatus;
    private String textNum;

    public static TextLive parseFrom(String data) {
        TextLive textLive = new TextLive();
        textLive.pares(data);
        return textLive;
    }

    private void pares(String data) {
        String[] values = data.split("\\^");

        remainTime = values[0];
        flag = values[1];
        homeScore = Integer.valueOf(values[2]);
        awayScore = Integer.valueOf(values[3]);
        text = values[4];
        recordId = values[5];
        matchStatus = Integer.valueOf(values[6]);
        textNum = values[7];
    }

    @Override
    public String toString() {
        return "TextLive{" +
                "remainTime='" + remainTime + '\'' +
                ", flag='" + flag + '\'' +
                ", homeScore=" + homeScore +
                ", awayScore=" + awayScore +
                ", text='" + text + '\'' +
                ", recordId='" + recordId + '\'' +
                ", matchStatus=" + matchStatus +
                ", textNum='" + textNum + '\'' +
                '}';
    }
}

}