I am trying to parse a JSON .txt file into a JAVA object using GSON. The JSON file has the following structure:
{ "event0" : { "a" : "abc", "b" : "def" }, "event1" : { "a" : "ghi", "b" : "jkl", "c" : "mno" } } I have read the text file into a String called dataStr. I want to use the fromJson method to capture the events into the following JAVA class:
public class Event { private String a; private String b; private String c; public Event() {} } The problem is that the JSON might have one extra field "c" in some of the elements. I want to parse all the events into Event class objects, and for the cases where there is no "c" field, I want to make it null or zero in my object. It is not known beforehand which of the elements will have the "c" field.
Specifically, I was not able to figure out how to handle one extra field in some of the JSON elements. I want to do something along the lines of:
Gson gson = new Gson(); ArrayList<Event> events = gson.fromJson(dataStr, Event.class); But I am stuck with first, how to iterate over the events in the Json file, and secondly, how to handle some occasional missing fields into the same Event object. I would really appreciate a kick in the right direction. Thank you all.
I am fairly new to JSON parsing, and might have missed something in the following answers:
Using Gson to convert Json into Java Object
Mapping JSON into POJO using Gson
