I don't know how to parse json using retrofit. I am familiar with parsing simple json using Retrofit but am not familiar with parsing nested Json using Retrofit.
Here is my Json data.
[{
"title": "Dashboard",
"url": "#",
"children": [],
"roles": [
"admin",
"user",
],
},
{
"title": "Admin",
"url": "/",
"children": [
{
"title": "Users",
"url": "users",
"children": [],
"roles": [
"admin"
],
},
{
"title": "Students",
"children": [],
"roles": [
"user",
"root",
],
},
{
"title": "Sites",
"url": "sites",
"children": [],
"roles": [
"admin",
"customer admin",
],
},
{
"title": "Menu",
"children": [],
"roles": [
"admin"
],
},
{
"title": "Roles",
"children": [],
"roles": [
"admin",
"root"
],
},
{
"title": "Permissions",
"children": [],
"roles": [
"admin",
"root"
],
},
{
"title": "Logs",
"children": [],
"roles": [
"admin",
"user",
],
}
],
"roles": [
"customer admin",
"admin",
],
},
{
"title": "Studio",
"children": [
{
"title": "Discovery to Design",
"children": [],
"roles": [
"admin",
"user"
],
},
{
"title": "Build",
"children": [
{
"title": "Data",
"children": [],
"roles": [
"admin",
"user",
],
},
{
"title": "Content",
"children": [],
"roles": [
"admin",
"customer admin"
],
},
{
"title": "Packages",
"children": [],
"roles": [
"admin",
"user"
],
}
],
"roles": [
"admin",
"user",
"root"
],
},
{
"title": "Publish",
"children": [],
"roles": [
"admin",
"user"
],
}
],
"roles": [
"admin",
"user"
],
},
{
"title": "Base",
"children": [],
"roles": [
"admin",
"user",
"root"
],
},
{
"title": "About Us",
"children": [],
"roles": [
"user",
"admin",
],
},
{
"title": "Monitoring",
"children": [],
"roles": [
"user"
],
}]
I need to display the main title in header(Parent view) and display title inside the child array as submenu (child view). Any help will be appreciated.
public class ParentData {
@SerializedName("title")
@Expose
public String title;
@SerializedName("children")
@Expose
public ArrayList<ChildData> children;
public String getTitle(){return title;
}
public void setTitle(String title) {
this.title = title;
}
public ArrayList<ChildData> getChildren() {
return children;
}
public void setChildren( ArrayList<ChildData> children) {
this.children = children;
}
}
public class ChildData {
@SerializedName("title")
@Expose
public String title;
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}}
How can I call this data in expandable list view using retrofit.?