json to java model
{
"raceCount": 8,
"race": [
{
"raceNumber": 1,
"distance": "1500 m",
"valueBenchmark": "Rating [0-20]",
"time": "12h30",
"raceName": "THE COURTESY CUP - DRAPER'S MILE",
"horseCount": 13,
"raceHorses": [
{
"horseName": "ARABIAN EMPIRE",
"horseNumber": 1,
"stable": "S.NARANG",
"handicap": 21,
"value": 21,
"raceNumber": 1
},
{
"horseName": "ARROWHEAD",
"horseNumber": 2,
"stable": "R.MAINGARD",
"handicap": 21,
"value": 21,
"raceNumber": 1
},
{
"horseName": "FYRKAT",
"horseNumber": 3,
"stable": "P.MERVEN",
"handicap": 19,
"value": 19,
"raceNumber": 1
},
{
"horseName": "TORNADO MAN",
"horseNumber": 4,
"stable": "R.GUJADHUR",
"handicap": 18,
"value": 18,
"raceNumber": 1
},
{
"horseName": "ABSALOM",
"horseNumber": 5,
"stable": "R.PERTAUB",
"handicap": 17,
"value": 17,
"raceNumber": 1
},
{
"horseName": "TIGER MASTER",
"horseNumber": 6,
"stable": "C.RAMDIN",
"handicap": 15,
"value": 15,
"raceNumber": 1
},
{
"horseName": "CAPTAIN MATTHEW",
"horseNumber": 7,
"stable": "S.NARANG",
"handicap": 13,
"value": 13,
"raceNumber": 1
},
{
"horseName": "DREAMS COME TRUE",
"horseNumber": 8,
"stable": "R.PERTAUB",
"handicap": 12,
"value": 12,
"raceNumber": 1
},
{
"horseName": "TEAMOG",
"horseNumber": 9,
"stable": "J.M.HENRY",
"handicap": 11,
"value": 11,
"raceNumber": 1
},
{
"horseName": "ALBERTS DAY",
"horseNumber": 10,
"stable": "R.GUJADHUR",
"handicap": 10,
"value": 10,
"raceNumber": 1
},
{
"horseName": "MARINE SKY",
"horseNumber": 11,
"stable": "R.PERTAUB",
"handicap": 10,
"value": 10,
"raceNumber": 1
},
{
"horseName": "ARROMONCHES",
"horseNumber": 12,
"stable": "J.M.HENRY",
"handicap": 6,
"value": 6,
"raceNumber": 1
},
{
"horseName": "PUT FOOT SINGE",
"horseNumber": 13,
"stable": "C.RAMDIN",
"handicap": 6,
"value": 6,
"raceNumber": 1
}
]
},
{
"raceNumber": 2,
"distance": "1400 m",
"valueBenchmark": "Rating [0-25]",
"time": "13h05",
"raceName": "LE GRAND PRIX DU CHAMP DE MARS",
"horseCount": 15,
"raceHorses": [
{
"horseName": "CANADIAN DOLLAR",
"horseNumber": 1,
"stable": "G.ROUSSET",
"handicap": 26,
"value": 26,
"raceNumber": 2
},
{
"horseName": "DOMANI",
"horseNumber": 2,
"stable": "J.M.HENRY",
"handicap": 26,
"value": 26,
"raceNumber": 2
},
{
"horseName": "DOUBLE DASH",
"horseNumber": 3,
"stable": "P.MERVEN",
"handicap": 24,
"value": 24,
"raceNumber": 2
},
{
"horseName": "IT'S MY PARTY",
"horseNumber": 4,
"stable": "R.GUJADHUR",
"handicap": 24,
"value": 24,
"raceNumber": 2
},
{
"horseName": "KINGS ADVISOR",
"horseNumber": 5,
"stable": "R.MAINGARD",
"handicap": 24,
"value": 24,
"raceNumber": 2
},
{
"horseName": "RAVATAK",
"horseNumber": 6,
"stable": "R.GUJADHUR",
"handicap": 24,
"value": 24,
"raceNumber": 2
},
{
"horseName": "NO PRISONERS",
"horseNumber": 7,
"stable": "J.M.HENRY",
"handicap": 23,
"value": 23,
"raceNumber": 2
},
{
"horseName": "RIGHT TO TANGO",
"horseNumber": 8,
"stable": "J.M.HENRY",
"handicap": 23,
"value": 23,
"raceNumber": 2
},
{
"horseName": "SMITTEN",
"horseNumber": 9,
"stable": "G.ROUSSET",
"handicap": 22,
"value": 22,
"raceNumber": 2
},
{
"horseName": "ARABIAN EMPIRE",
"horseNumber": 10,
"stable": "S.NARANG",
"handicap": 21,
"value": 21,
"raceNumber": 2
},
{
"horseName": "ARROWHEAD",
"horseNumber": 11,
"stable": "R.MAINGARD",
"handicap": 21,
"value": 21,
"raceNumber": 2
},
{
"horseName": "PORT ALBERT",
"horseNumber": 12,
"stable": "C.RAMDIN",
"handicap": 21,
"value": 21,
"raceNumber": 2
},
{
"horseName": "ABSALOM",
"horseNumber": 13,
"stable": "R.PERTAUB",
"handicap": 17,
"value": 17,
"raceNumber": 2
},
{
"horseName": "CITY TREASURER",
"horseNumber": 14,
"stable": "J.M.HENRY",
"handicap": 15,
"value": 15,
"raceNumber": 2
},
{
"horseName": "PUT FOOT SINGE",
"horseNumber": 15,
"stable": "C.RAMDIN",
"handicap": 6,
"value": 6,
"raceNumber": 2
}
]
},
{
"raceNumber": 3,
"distance": "1365 m",
"valueBenchmark": "Rating Benchmark 41",
"time": "13h40",
"raceName": "THE ROTARY CLUB OF QUATRE BORNES CUP",
"horseCount": 8,
"raceHorses": [
{
"horseName": "RUM TUM TUGGER",
"horseNumber": 1,
"stable": "R.MAINGARD",
"handicap": 40,
"value": 40,
"raceNumber": 3
},
{
"horseName": "THE REAL HERO",
"horseNumber": 2,
"stable": "G.ROUSSET",
"handicap": 40,
"value": 40,
"raceNumber": 3
},
{
"horseName": "TRAIANIUS",
"horseNumber": 3,
"stable": "S.NARANG",
"handicap": 39,
"value": 39,
"raceNumber": 3
},
{
"horseName": "AL CAPITANO",
"horseNumber": 4,
"stable": "J.M.HENRY",
"handicap": 38,
"value": 38,
"raceNumber": 3
},
{
"horseName": "CASH LORD",
"horseNumber": 5,
"stable": "S.NARANG",
"handicap": 38,
"value": 38,
"raceNumber": 3
},
{
"horseName": "JAMBAMMAN",
"horseNumber": 6,
"stable": "R.PERTAUB",
"handicap": 38,
"value": 38,
"raceNumber": 3
},
{
"horseName": "KARRAAR ",
"horseNumber": 7,
"stable": "G.ROUSSET",
"handicap": 37,
"value": 37,
"raceNumber": 3
},
{
"horseName": "ARTFUL PRINCE",
"horseNumber": 8,
"stable": "C.RAMDIN",
"handicap": 36,
"value": 36,
"raceNumber": 3
}
]
},
{
"raceNumber": 4,
"distance": "1400 m",
"valueBenchmark": "Rating Benchmark 46",
"time": "14h15",
"raceName": "THE OWNERS CUP",
"horseCount": 8,
"raceHorses": [
{
"horseName": "CASTLE",
"horseNumber": 1,
"stable": "A.PERDRAU",
"handicap": 46,
"value": 46,
"raceNumber": 4
},
{
"horseName": "PHIRI E KWATILE",
"horseNumber": 2,
"stable": "R.MAINGARD",
"handicap": 46,
"value": 46,
"raceNumber": 4
},
{
"horseName": "LIETUVA",
"horseNumber": 3,
"stable": "G.ROUSSET",
"handicap": 45,
"value": 45,
"raceNumber": 4
},
{
"horseName": "TOROTINO",
"horseNumber": 4,
"stable": "R.GUJADHUR",
"handicap": 45,
"value": 45,
"raceNumber": 4
},
{
"horseName": "GAMELOFT",
"horseNumber": 5,
"stable": "S.NARANG",
"handicap": 44,
"value": 44,
"raceNumber": 4
},
{
"horseName": "NEW STAR",
"horseNumber": 6,
"stable": "G.ROUSSET",
"handicap": 44,
"value": 44,
"raceNumber": 4
},
{
"horseName": "VALERIN",
"horseNumber": 7,
"stable": "A.PERDRAU",
"handicap": 43,
"value": 43,
"raceNumber": 4
},
{
"horseName": "ANAFESTO",
"horseNumber": 8,
"stable": "J.M.HENRY",
"handicap": 38,
"value": 38,
"raceNumber": 4
}
]
},
{
"raceNumber": 5,
"distance": "1500 m",
"valueBenchmark": "Rating Benchmark 56",
"time": "14h55",
"raceName": "THE INDEPENDENCE CUP - DRAPER'S MILE",
"horseCount": 6,
"raceHorses": [
{
"horseName": "GREYS INN CONTROL",
"horseNumber": 1,
"stable": "R.GUJADHUR",
"handicap": 54,
"value": 54,
"raceNumber": 5
},
{
"horseName": "TUBE WAVE",
"horseNumber": 2,
"stable": "R.MAINGARD",
"handicap": 51,
"value": 51,
"raceNumber": 5
},
{
"horseName": "PARCEVAL",
"horseNumber": 3,
"stable": "R.MAINGARD",
"handicap": 50,
"value": 50,
"raceNumber": 5
},
{
"horseName": "PONT D'AVIGNON",
"horseNumber": 4,
"stable": "G.ROUSSET",
"handicap": 49,
"value": 49,
"raceNumber": 5
},
{
"horseName": "SCORECARD ",
"horseNumber": 5,
"stable": "J.M.HENRY",
"handicap": 48,
"value": 48,
"raceNumber": 5
},
{
"horseName": "SILVER DICE",
"horseNumber": 6,
"stable": "C.RAMDIN",
"handicap": 48,
"value": 48,
"raceNumber": 5
}
]
},
{
"raceNumber": 6,
"distance": "1400 m",
"valueBenchmark": "Rating [60+] G.3",
"time": "15h30",
"raceName": "THE NOBLE SALUTE CUP",
"horseCount": 6,
"raceHorses": [
{
"horseName": "ALBERT MOONEY",
"horseNumber": 1,
"stable": "G.ROUSSET",
"handicap": 75,
"value": 75,
"raceNumber": 6
},
{
"horseName": "CASEY'S WAR",
"horseNumber": 2,
"stable": "R.MAINGARD",
"handicap": 70,
"value": 70,
"raceNumber": 6
},
{
"horseName": "REIM",
"horseNumber": 3,
"stable": "GUJADHUR",
"handicap": 70,
"value": 70,
"raceNumber": 6
},
{
"horseName": "ABINGTON",
"horseNumber": 4,
"stable": "A.PERDRAU",
"handicap": 67,
"value": 67,
"raceNumber": 6
},
{
"horseName": "EVEREST",
"horseNumber": 5,
"stable": "G.ROUSSET",
"handicap": 64,
"value": 64,
"raceNumber": 6
},
{
"horseName": "LIQUID MOTION",
"horseNumber": 6,
"stable": "P.MERVEN",
"handicap": 63,
"value": 63,
"raceNumber": 6
}
]
},
{
"raceNumber": 7,
"distance": "1365 m",
"valueBenchmark": "Rating Benchmark 31",
"time": "16h05",
"raceName": "THE PORT AU PRINCE CUP",
"horseCount": 8,
"raceHorses": [
{
"horseName": "BILLY BOJANGLES",
"horseNumber": 1,
"stable": "R.MAINGARD",
"handicap": 29,
"value": 29,
"raceNumber": 7
},
{
"horseName": "DON'T TELL MAMA",
"horseNumber": 2,
"stable": "J.M.HENRY",
"handicap": 29,
"value": 29,
"raceNumber": 7
},
{
"horseName": "MELSON",
"horseNumber": 3,
"stable": "G.ROUSSET",
"handicap": 29,
"value": 29,
"raceNumber": 7
},
{
"horseName": "AMBER PALACE",
"horseNumber": 4,
"stable": "P.MERVEN",
"handicap": 28,
"value": 28,
"raceNumber": 7
},
{
"horseName": "BLIZZARD OF OZZ",
"horseNumber": 5,
"stable": "S.NARANG",
"handicap": 26,
"value": 26,
"raceNumber": 7
},
{
"horseName": "RUBY ROCKER",
"horseNumber": 6,
"stable": "R.GUJADHUR",
"handicap": 26,
"value": 26,
"raceNumber": 7
},
{
"horseName": "JOE'S LEGACY",
"horseNumber": 7,
"stable": "R.PERTAUB",
"handicap": 23,
"value": 23,
"raceNumber": 7
},
{
"horseName": "PORT ALBERT",
"horseNumber": 8,
"stable": "C.RAMDIN",
"handicap": 21,
"value": 21,
"raceNumber": 7
}
]
},
{
"raceNumber": 8,
"distance": "1400 m",
"valueBenchmark": "Rating [0-25]",
"time": "16h40",
"raceName": "THE LALDHEER PLATE",
"horseCount": 14,
"raceHorses": [
{
"horseName": "BLIZZARD OF OZZ",
"horseNumber": 1,
"stable": "S.NARANG",
"handicap": 26,
"value": 26,
"raceNumber": 8
},
{
"horseName": "CANADIAN DOLLAR",
"horseNumber": 2,
"stable": "G.ROUSSET",
"handicap": 26,
"value": 26,
"raceNumber": 8
},
{
"horseName": "DOMANI",
"horseNumber": 3,
"stable": "J.M.HENRY",
"handicap": 26,
"value": 26,
"raceNumber": 8
},
{
"horseName": "BRIGHT SHINING",
"horseNumber": 4,
"stable": "C.RAMDIN",
"handicap": 24,
"value": 24,
"raceNumber": 8
},
{
"horseName": "DOUBLE DASH",
"horseNumber": 5,
"stable": "P.MERVEN",
"handicap": 24,
"value": 24,
"raceNumber": 8
},
{
"horseName": "IT'S MY PARTY",
"horseNumber": 6,
"stable": "R.GUJADHUR",
"handicap": 24,
"value": 24,
"raceNumber": 8
},
{
"horseName": "KINGS ADVISOR",
"horseNumber": 7,
"stable": "R.MAINGARD",
"handicap": 24,
"value": 24,
"raceNumber": 8
},
{
"horseName": "RAVATAK",
"horseNumber": 8,
"stable": "R.GUJADHUR",
"handicap": 24,
"value": 24,
"raceNumber": 8
},
{
"horseName": "JOE'S LEGACY",
"horseNumber": 9,
"stable": "R.PERTAUB",
"handicap": 23,
"value": 23,
"raceNumber": 8
},
{
"horseName": "NO PRISONERS",
"horseNumber": 10,
"stable": "J.M.HENRY",
"handicap": 23,
"value": 23,
"raceNumber": 8
},
{
"horseName": "RIGHT TO TANGO",
"horseNumber": 11,
"stable": "J.M.HENRY",
"handicap": 23,
"value": 23,
"raceNumber": 8
},
{
"horseName": "SMITTEN",
"horseNumber": 12,
"stable": "G.ROUSSET",
"handicap": 22,
"value": 22,
"raceNumber": 8
},
{
"horseName": "CITY TREASURER",
"horseNumber": 13,
"stable": "J.M.HENRY",
"handicap": 15,
"value": 15,
"raceNumber": 8
},
{
"horseName": "CAPTAIN MATTHEW",
"horseNumber": 14,
"stable": "S.NARANG",
"handicap": 13,
"value": 13,
"raceNumber": 8
}
]
}
]
}
NominationViewModel nomination = new NominationViewModel();
private void DeserializeJsonObject(String result) {
try {
JSONObject jsonObject = new JSONObject(result);
JSONArray raceArray = jsonObject.getJSONArray("race");
nomination.setRaceCount(jsonObject.getInt("raceCount"));
List<Race> races = new ArrayList<>();
List<RaceHorse> raceHorses = new ArrayList<>();
for(int i=0; i<raceArray.length(); i++) {
JSONObject raceObject = raceArray.getJSONObject(i);
JSONArray raceHorsesArray = raceObject.getJSONArray("raceHorses");
Race item = new Race();
item.setRaceNumber(raceObject.getInt("raceNumber"));
item.setDistance(raceObject.getString("distance"));
item.setValueBenchmark(raceObject.getString("valueBenchmark"));
item.setTime(raceObject.getString("time"));
item.setRaceName(raceObject.getString("raceName"));
item.setHorseCount(raceObject.getInt("horseCount"));
for(int count=0;count<raceHorsesArray.length();count++){
JSONObject raceHorseObject = raceHorsesArray.getJSONObject(count);
RaceHorse items = new RaceHorse();
items.setHorseName(raceHorseObject.getString("horseName"));
items.setHorseNumber(raceHorseObject.getInt("horseNumber"));
items.setStable(raceHorseObject.getString("stable"));
items.setHandicap(raceHorseObject.getInt("handicap"));
items.setValue(raceHorseObject.getInt("value"));
items.setRaceNumber(raceHorseObject.getInt("raceNumber"));
raceHorses.add(items);
}
item.setRaceHorses(raceHorses);
races.add(item);
}
nomination.setRace(races);
System.out.print(nomination);
} catch (JSONException e) {
e.printStackTrace();
}
}