Simple AngularJS controller for REST API
You can use this unexplodeWord function:

 var explodedWords = [{"0":"h","1":"e","2":"l","3":"l","4":"o"},    
                       {"0":"w","1":"o","2":"r","3":"l","4":"d"}]

 var words = explodedWords.map(unexplodeWord);

 // Converts {"0":"h","1":"e"} to "he".
 function unexplodeWord(explodedWord) {
   var chars = [];
   angular.forEach(explodedWord, function(char) { 
     chars.push(char);
   });
   return chars.join('');
 }

 words.forEach(function(item) { console.log("word: " + JSON.stringify(item)); });


You would call it as such:

    $scope.Products = data[0];
    $scope.Branches = data[1].map(unexplodeWord);
    $scope.Profiles = data[2].map(unexplodeWord);  


You would still have some asymmetry relative to Products, but not as much.
If I understand correctly, you want some kind of advice about pagination.  If you really get too much data, maybe you could print only the branches and profiles for one product at a time.  

If you have too many branches and profiles for a single product, you should probably only output either branches or profiles, and paginate those.