How do I use Google's Gson API to deserialize JSON properly?
- by FK82
Hi,
In short, this is a sketch of the JSON object I want to parse in JAVA:
{
object1: {
item1: //[String | Array | Object] ,
item2: // ...
//<> more items
object2: { // }
//<> more objects
}
These are the POJO s I created for parsing (I'll leave out the import statements for brevity's sake):
(1) The representation of the complete JSON object
public class JObjectContainer {
private List<JObject> jObjects ;
public JObjectContainer() { // }
//get & set methods
}
(2) The representation of the nested objects:
public class JObject {
private String id ;
private List<JNode> jObjects ;
public JObject() { // }
//get & set methods
}
(3) The representation of the items:
public class JNode {
private JsonElement item1 ;
private JsonElement item2 ;
//<> more item fields
public JNode() { // }
//get & set methods
}
Now, creating a Gson instance (FileReader for importing the jsonFile),
Gson gson = new Gson() ;
JObjectContainer joc = gson(jsonFile,JObjectContainer.class) ;
I get a NullPointerException whenever I try to access the parseable object (e.g. through a ListIterator). Gson does however create an object of the class I specified and does not throw any subsequent errors.
I know that this has been done before. So, what am I missing?
TIA