I am using gson.toJson to convert my java objects to JSON and I have an issue with a particular structure.
Here is what my code looks like:
user_info.setUser_data(Arrays.asList(new HashMap<String, String>() {{
put("x", "y");
put("x1", "y2");
}}, new HashMap<String, String>() {{
put("x", "y");
put("x1", "y2");
}}));
user_info.setUser_data2(new HashMap<String, Object>() {{
put("x", 5);
}});
Where user_data element is written as follows: (user_data2 is set in the following manner)
private List<?> user_data= new ArrayList<>();
public List<?> getUser_data() {
return user_data;
}
public void setUser_data(List<?> user_data) {
this.user_data = user_data;
}
But after using gson.toJson I am getting the following empty result for user_data while user_data2 is not even bein converted.
"user_data":[
null,
null
]
}
What I expect to get is :
"user_data": [
{
"x": "y",
"x1": "y2"
},
{
"x": "y",
"x1": "y2"
}
],
"user_data2": {
"x": 5
}
}
What am I getting wrong here?