Guidance regarding Recursive Traversal of Json Object

Guidance regarding Recursive Traversal of Json Object

I am trying to create the menu based on a recursive Json object. I am able to prepare the Json object and have defined a template structure for the same. 

Json Object:

   [
   {"ExtensionData":null,"MenuDescription":"Home Menu","MenuEnabled":false,"MenuId":1,"MenuParentId":-1,"MenuSelfWindow":true,"MenuTarget":"","MenuText":"Home"},
   {"ExtensionData":null,"MenuDescription":"Profile","MenuEnabled":false,"MenuId":2,"MenuParentId":-1,"MenuSelfWindow":true,"MenuTarget":"#","MenuText":"Profile"},
   {"ExtensionData":null,"MenuDescription":"Customer Support","MenuEnabled":false,"MenuId":3,"MenuParentId":-1,"MenuSelfWindow":true,"MenuTarget":"#","MenuText":"Customer Support"},
   {"ExtensionData":null,"MenuDescription":"Communication Center","MenuEnabled":false,"MenuId":4,"MenuParentId":-1,"MenuSelfWindow":true,"MenuTarget":"#","MenuText":"Communication Center"},
   {"ExtensionData":null,"MenuDescription":"Navigational Assistance","MenuEnabled":false,"MenuId":5,"MenuParentId":-2147483648,"MenuSelfWindow":true,"MenuTarget":"#","MenuText":"Navigational Assistance"},
   {"ExtensionData":null,"MenuDescription":"Upgrade","MenuEnabled":false,"MenuId":6,"MenuParentId":3,"MenuSelfWindow":true,"MenuTarget":"./upgrade.aspx","MenuText":"Upgrade"},
   {"ExtensionData":null,"MenuDescription":"Cancel Premium","MenuEnabled":false,"MenuId":7,"MenuParentId":3,"MenuSelfWindow":true,"MenuTarget":"./cancelpremium.aspx","MenuText":"Canel Premium"},
   {"ExtensionData":null,"MenuDescription":"Messages Received","MenuEnabled":false,"MenuId":8,"MenuParentId":4,"MenuSelfWindow":true,"MenuTarget":"inbox.aspx","MenuText":"Messages Received"},
   {"ExtensionData":null,"MenuDescription":"Messages Sent","MenuEnabled":false,"MenuId":9,"MenuParentId":4,"MenuSelfWindow":true,"MenuTarget":"inbox.aspx?s=0","MenuText":"Messages Sent"},
   {"ExtensionData":null,"MenuDescription":"Instant Messaging History","MenuEnabled":false,"MenuId":11,"MenuParentId":4,"MenuSelfWindow":true,"MenuTarget":"im.aspx","MenuText":"Instant Messaging History"},
   {"ExtensionData":null,"MenuDescription":"Message to Administrator","MenuEnabled":false,"MenuId":12,"MenuParentId":4,"MenuSelfWindow":true,"MenuTarget":"msg_admin.aspx","MenuText":"Message to Administrator"}
   ]

I have also tried to define a skeleton as below:

   
    <ul>
   <li class="first">1</li>
   <li>2</li>
   <li>3
                 <ul>
                    <li>3.1</li>
                    <li>3.2</li>
                </ul>
                </li>
                 <li>4</li>
                 <ul>
                    <li>4.1</li>
                    <li>4.2</li>
                    <li>4.3</li>
                    <li>4.4</li>
                </ul>
                 </li>
                <li>5</a>
                 <ul>
                    <li>5.1</li>
                 </ul>
                 </li>
  </ul>

Would this be sufficient or should I need any other info for recursive traversal of the Json? Any clues or pointers?