Yuri Ramos Yuri Ramos - 3 months ago 20
JSON Question

Print Json with object inside object in angularJS using ng-repeat

Hi guys i have this following JSON external file

{"success":true,"errors":[],"objects":[{"cod":"8211300","descricao":"Serviços advocatícios"},{"cod":"7111100","descricao":"Serviços de arquitetura"},{"cod":"6204000","descricao":"Consultoria em tecnologia da informação"},{"cod":"6622300","descricao":"Corretores e agentes de seguros, de planos de previdência complementar e de saúde"},{"cod":"8630504","descricao":"Atividade odontológica com recursos para realização de procedimentos cirúrgicos"},{"cod":"7410202","descricao":"Design de interiores"},{"cod":"6202300","descricao":"Desenvolvimento e licenciamento de programas de computador customizáveis"},{"cod":"7112000","descricao":"Serviços de engenharia"},{"cod":"8599699","descricao":"Outras atividades de ensino não especificadas anteriormente"},{"cod":"6391700","descricao":"Agências de notícias"},{"cod":"7311400","descricao":"Agências de publicidade"},{"cod":"8211300","descricao":"Serviços combinados de escritório e apoio administrativo"},{"cod":"9511800 ","descricao":"Reparação e manutenção de computadores e de equipamentos periféricos"},{"cod":"8630503","descricao":"Atividade médica ambulatorial restrita a consultas"},{"cod":"1","descricao":"Outras atividades"}]}


As you can see there's one string inside the object "objects" and I a newbie in angular and facing issues to print this inside my li with ng-repeat.

Here's my app.js

var app = angular.module('servicos', []);


app.controller('servicos_1', function($scope, $http){

$http.get("https://app-dot-contabilizei-jobs.appspot.com/rest/simulador/atividades").success(function(data){
$scope.cliente = data;
console.log(data);
});

});


And here my index.html

<!DOCTYPE html>
<html ng-app="servicos">

<head>
<meta charset="utf-8" />
<title>AngularJS display</title>
<link rel="stylesheet" href="style.css" />
<script data-require="angular.js@1.2.x" src="https://code.angularjs.org/1.2.28/angular.js" data-semver="1.2.28"></script>
<script src="js/app.js"></script>
</head>

<body ng-controller="servicos_1">
<div>
<span class="city">City</span><span>Rank</span>
</div>
<ul class="table" >
<li class="city-row" ng-repeat="value in cliente">
<span class="city-name">{{value.cod}}</span>
<span class="city-count">{{value.descricao}}</span>
</li>
</ul>

</body>

</html>


Isaw a few questions here but none with object inside object. Can you help me guys?

Another question, theres another 2 externals jsons to request via http.get i can create another controllers but how can i manage this if my body ng-controller is already with my first controller?

Thanks for your time!

Answer

You have to point your $scope.cliente variable to data.object instead of just data like this,

<ul class="table" >
    <li class="city-row" ng-repeat="value in cliente.object">
       <span class="city-name">{{value.cod}}</span>    
       <span class="city-count">{{value.descricao}}</span>
     </li>
</ul>

Hope this helps!

Comments