J'utilise Gson pour analyser les fichiers json d'un site Web. Je suis assez nouveau à Java et je veux savoir comment je devrais le faire.Création de classes à utiliser avec la bibliothèque Gson
Tout fonctionne bien mais j'ai quelques questions. Comme je reçois ces fichiers JSON d'un site Web sur lequel je n'ai aucun contrôle, certaines valeurs du fichier json sont nulles. Quelle est la bonne façon de travailler avec ceux-ci? J'ai des méthodes pour obtenir les valeurs de ma classe et changer pour le type désiré.
isp_ornd = "104% ou quelque chose de similaire à celle"
bsp_ornd = comme ci-dessus.
win_time = « 2m 35s 990 »
Comme je l'ai dit je ne suis pas avoir de problèmes que je veux juste savoir la manière correcte sur l'utilisation Gson et Java pour le faire.
public class ResultData {
private String isp_ornd;
private String bsp_ornd;
private String win_time;
private RunnerData[] runners;
public int getIspOrnd() {
if(isp_ornd != null){
isp_ornd = isp_ornd.replace("%", "");
isp_ornd = isp_ornd.replace(" ", "");
if(isp_ornd.equals(""))
isp_ornd = "0";
return Integer.parseInt(isp_ornd);
}
else
return 0;
}
public int getBspOrnd() {
if(bsp_ornd != null){
bsp_ornd = bsp_ornd.replace("%", "");
bsp_ornd = bsp_ornd.replace(" ", "");
if(bsp_ornd.equals(""))
bsp_ornd = "0";
return Integer.parseInt(bsp_ornd);
}
else
return 0;
}
public long getWinTime() {
long minutes = 0;
long seconds = 0;
long milliseconds = 0;
long totalTime = 0;
if(win_time != null){
win_time = win_time.replace("m ",":");
win_time = win_time.replace(".",":");
win_time = win_time.replace("s","");
win_time = win_time.replace(" ","");
String[] timeSplit = win_time.split(":");
if(timeSplit.length == 3){
minutes = Long.parseLong(timeSplit[0]);
seconds = Long.parseLong(timeSplit[1]);
milliseconds = Long.parseLong(timeSplit[2]);
totalTime = (minutes * 36000) + (seconds * 1000) + (milliseconds*10);
}
else
totalTime = 0;
}
else
totalTime = 0;
return totalTime;
}
public RunnerData[] getRunners() {
return runners;
}
public String toString(){
return getIspOrnd() + " " + getBspOrnd() + " " + getWinTime() + " " + win_time;
}
}