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

野子电竞数据官网改版https://www.xxe.io/全新登场
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;

/**

*/
public class BasketballPlayerInfo {

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

        JAXBContext jaxbContext = JAXBContext.newInstance(PlayerList.class);
        Unmarshaller unmarshaller = jaxbContext.createUnmarshaller();

        PlayerList list = (PlayerList) unmarshaller.unmarshal(new ByteArrayInputStream(content.getBytes()));
        list.getPlayerList().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/BasketballPlayerInfo.xml"), StandardCharsets.UTF_8);
        lines.forEach(builder::append);
        return builder.toString();
    } catch (Throwable t) {
        t.printStackTrace();
        return "";
    }
}

@XmlRootElement(name = "list")
public static class PlayerList{
    @XmlElement(name = "i")
    private List<Player> playerList;

    public List<Player> getPlayerList() {
        return playerList;
    }
}

public static class Player {
    @XmlElement(name = "id")
    private String id;
    @XmlElement(name = "Number")
    private String number;
    @XmlElement(name = "Name_F")
    private String nameBig;
    @XmlElement(name = "Name_JS")
    private String nameGbShort;
    @XmlElement(name = "Name_J")
    private String nameGb;
    @XmlElement(name = "Name_E")
    private String nameEn;
    @XmlElement(name = "TeamID")
    private String teamId;
    @XmlElement(name = "Place")
    private String place;
    @XmlElement(name = "Birthday")
    private String birthday;
    @XmlElement(name = "Tallness")
    private String tallness;
    @XmlElement(name = "Weight")
    private String weight;
    @XmlElement(name = "Photo")
    private String photo;
    @XmlElement(name = "NbaAge")
    private String nbaAge;
    @XmlElement(name = "Salary")
    private String salary;

    @Override
    public String toString() {
        return "Player{" +
                "id='" + id + '\'' +
                ", number='" + number + '\'' +
                ", nameBig='" + nameBig + '\'' +
                ", nameGbShort='" + nameGbShort + '\'' +
                ", nameGb='" + nameGb + '\'' +
                ", nameEn='" + nameEn + '\'' +
                ", teamId='" + teamId + '\'' +
                ", place='" + place + '\'' +
                ", birthday='" + birthday + '\'' +
                ", tallness='" + tallness + '\'' +
                ", weight='" + weight + '\'' +
                ", photo='" + photo + '\'' +
                ", nbaAge='" + nbaAge + '\'' +
                ", salary='" + salary + '\'' +
                '}';
    }
}

}

相关推荐