0

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.?

bujji
  • 13
  • 1
  • 5

0 Answers0