2015-08-20 1 views
1

Я новичок в угловом и я пытаюсь загрузить файл в формате JSON и повторить его на индексный файл, но могу пройти через этот JSON, чтобы получить массивы для повторенияУгловой нагрузка местные и получить JSON массивов

app.js

chatApp.controller('userCtrl', function ($scope, $filter, $http) { 

var obj = {content:null}; 

$http.get('test.json').success(function(data) { 

    obj.content = data; 
});  
console.log(obj);}); 

файл JSON

{"data": 
{"result":"success","customers_list":[ 
{"Chat": 
{ 
    "name": "John", 
    "town":"LA" 
}}, 
{"Chat": 
{ 
    "name": "Peter", 
    "town":"NY" 
}}],"message":"The function is correctly"}} 

Я хотел бы получить имя и город, любые идеи, как пройти через данных-> customer_list недо я получаю что-то вроде:

$scope.loadChat =[ 
{ 
     "name": "John", 
     "town":"LA" 
    }, 
    { 
     "name": "Peter", 
     "town":"NY"  
} 
]; 

ответ

2

Вы можете использовать встроенный в map функции:

chatApp.controller('userCtrl', function ($scope, $filter, $http) { 
    $scope.loadChat = []; 

    $http.get('test.json').success(function(data) { 
    $scope.loadChat = data.data.customers_list.map(function(chat) { 
     return chat.Chat; 
    }); 
    }); 

}); 

Метод карты() создает новый массив с результатами вызова предоставленную функцию для каждого элемента в этом массиве.

https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Array/map

+0

привет, спасибо вам;) – johnny04501

0

tYou может отображать имя и город зацикливание корыто content.data.customers_list с ng-repeat.

контроллер:

chatApp.controller('userCtrl', ['$scope', '$http', function($scope, $http) { 
    $http.get('test.json').success(function(data) { 
    $scope.content = data; 
    }); 
}]); 

HTML:

<div ng-repeat="user in content.data.customers_list"> 
    {{user.Chat.name}} {{user.Chat.town}} 
</div> 
Смежные вопросы