0

I've JSON file as below. Looking this JSON file I want to create JAVA class but I'm confused with array in it. I created a class named "Period" having fields as "SLOT,SUB,TUTOR" with setters and getters. Can I make LIST<> for the arrays of "Period" in another class named "Day"?

{
    "BEX1": {

        "1SUNDAY": [{
                "SLOT": "1",
                "SUB": "NA",
                "TUTOR": "NA"
            }, {
                "SLOT": "1",
                "SUB": "NA",
                "TUTOR": "NA"
            }, {
                "SLOT": "1",
                "SUB": "NA",
                "TUTOR": "NA"
            },
            {
                "SLOT": "1",
                "SUB": "NA",
                "TUTOR": "NA"
            }, {
                "SLOT": "1",
                "SUB": "NA",
                "TUTOR": "NA"
            }, {
                "SLOT": "1",
                "SUB": "NA",
                "TUTOR": "NA"
            },
            {
                "SLOT": "1",
                "SUB": "NA",
                "TUTOR": "NA"
            }, {
                "SLOT": "1",
                "SUB": "NA",
                "TUTOR": "NA"
            }, {
                "SLOT": "1",
                "SUB": "NA",
                "TUTOR": "NA"
            }
        ],
        "2MONDAY": [{
                "SLOT": "1",
                "SUB": "NA",
                "TUTOR": "NA"
            }, {
                "SLOT": "1",
                "SUB": "NA",
                "TUTOR": "NA"
            }, {
                "SLOT": "1",
                "SUB": "NA",
                "TUTOR": "NA"
            },
            {
                "SLOT": "1",
                "SUB": "NA",
                "TUTOR": "NA"
            }, {
                "SLOT": "1",
                "SUB": "NA",
                "TUTOR": "NA"
            }, {
                "SLOT": "1",
                "SUB": "NA",
                "TUTOR": "NA"
            },
            {
                "SLOT": "1",
                "SUB": "NA",
                "TUTOR": "NA"
            }, {
                "SLOT": "1",
                "SUB": "NA",
                "TUTOR": "NA"
            }, {
                "SLOT": "1",
                "SUB": "NA",
                "TUTOR": "NA"
            }
        ],
        "3TUESDAY": [{
                "SLOT": "1",
                "SUB": "NA",
                "TUTOR": "NA"
            }, {
                "SLOT": "1",
                "SUB": "NA",
                "TUTOR": "NA"
            }, {
                "SLOT": "1",
                "SUB": "NA",
                "TUTOR": "NA"
            },
            {
                "SLOT": "1",
                "SUB": "NA",
                "TUTOR": "NA"
            }, {
                "SLOT": "1",
                "SUB": "NA",
                "TUTOR": "NA"
            }, {
                "SLOT": "1",
                "SUB": "NA",
                "TUTOR": "NA"
            },
            {
                "SLOT": "1",
                "SUB": "NA",
                "TUTOR": "NA"
            }, {
                "SLOT": "1",
                "SUB": "NA",
                "TUTOR": "NA"
            }, {
                "SLOT": "1",
                "SUB": "NA",
                "TUTOR": "NA"
            }
        ],
        "4WEDNESDAY": [{
                "SLOT": "1",
                "SUB": "NA",
                "TUTOR": "NA"
            }, {
                "SLOT": "1",
                "SUB": "NA",
                "TUTOR": "NA"
            }, {
                "SLOT": "1",
                "SUB": "NA",
                "TUTOR": "NA"
            },
            {
                "SLOT": "1",
                "SUB": "NA",
                "TUTOR": "NA"
            }, {
                "SLOT": "1",
                "SUB": "NA",
                "TUTOR": "NA"
            }, {
                "SLOT": "1",
                "SUB": "NA",
                "TUTOR": "NA"
            },
            {
                "SLOT": "1",
                "SUB": "NA",
                "TUTOR": "NA"
            }, {
                "SLOT": "1",
                "SUB": "NA",
                "TUTOR": "NA"
            }, {
                "SLOT": "1",
                "SUB": "NA",
                "TUTOR": "NA"
            }
        ],
        "5THURSDAY": [{
                "SLOT": "1",
                "SUB": "NA",
                "TUTOR": "NA"
            }, {
                "SLOT": "1",
                "SUB": "NA",
                "TUTOR": "NA"
            }, {
                "SLOT": "1",
                "SUB": "NA",
                "TUTOR": "NA"
            },
            {
                "SLOT": "1",
                "SUB": "NA",
                "TUTOR": "NA"
            }, {
                "SLOT": "1",
                "SUB": "NA",
                "TUTOR": "NA"
            }, {
                "SLOT": "1",
                "SUB": "NA",
                "TUTOR": "NA"
            },
            {
                "SLOT": "1",
                "SUB": "NA",
                "TUTOR": "NA"
            }, {
                "SLOT": "1",
                "SUB": "NA",
                "TUTOR": "NA"
            }, {
                "SLOT": "1",
                "SUB": "NA",
                "TUTOR": "NA"
            }
        ],
        "6FRIDAY": [{
                "SLOT": "1",
                "SUB": "NA",
                "TUTOR": "NA"
            }, {
                "SLOT": "1",
                "SUB": "NA",
                "TUTOR": "NA"
            }, {
                "SLOT": "1",
                "SUB": "NA",
                "TUTOR": "NA"
            },
            {
                "SLOT": "1",
                "SUB": "NA",
                "TUTOR": "NA"
            }, {
                "SLOT": "1",
                "SUB": "NA",
                "TUTOR": "NA"
            }, {
                "SLOT": "1",
                "SUB": "NA",
                "TUTOR": "NA"
            },
            {
                "SLOT": "1",
                "SUB": "NA",
                "TUTOR": "NA"
            }, {
                "SLOT": "1",
                "SUB": "NA",
                "TUTOR": "NA"
            }, {
                "SLOT": "1",
                "SUB": "NA",
                "TUTOR": "NA"
            }
        ],
        "7SATURDAY": [{
                "SLOT": "1",
                "SUB": "NA",
                "TUTOR": "NA"
            }, {
                "SLOT": "1",
                "SUB": "NA",
                "TUTOR": "NA"
            }, {
                "SLOT": "1",
                "SUB": "NA",
                "TUTOR": "NA"
            },
            {
                "SLOT": "1",
                "SUB": "NA",
                "TUTOR": "NA"
            }, {
                "SLOT": "1",
                "SUB": "NA",
                "TUTOR": "NA"
            }, {
                "SLOT": "1",
                "SUB": "NA",
                "TUTOR": "NA"
            },
            {
                "SLOT": "1",
                "SUB": "NA",
                "TUTOR": "NA"
            }, {
                "SLOT": "1",
                "SUB": "NA",
                "TUTOR": "NA"
            }, {
                "SLOT": "1",
                "SUB": "NA",
                "TUTOR": "NA"
            }
        ]
    }
}
Jaiwo99
  • 9,687
  • 3
  • 36
  • 53
user3853770
  • 193
  • 3
  • 15
  • JSON is JavaScript syntax, not Java. There is no way to specify a constant map/dictionary in Java, hence you can only create a Map and add the entries manually. – Robert May 08 '17 at 14:20
  • Yes, you can map it very easily using `Gson` in many different ways. There are many suggestions at this post. Don't just look at the accepted answer. http://stackoverflow.com/questions/5490789/json-parsing-using-gson-for-java – jiveturkey May 08 '17 at 14:25

1 Answers1

0

Following should work:

class Bex {
  Map<String, Day> mapper;
}

class Day {
  List<Period> periods;
}

Class Period {
  String slot;
  String sub;
  String tutor;
}

NOTICE: You may need something like @JsonProperty("TUTOR") to correct the mapping, if you are using jackson

Jaiwo99
  • 9,687
  • 3
  • 36
  • 53