2015-07-01 12 views
0

Я новичок в Angularjs.I хочу изменить формат объектного кода JSON, который я получаю в каком-то новом формате. Ниже приведен формат.Преобразование формата объекта JSON с использованием angularjs

$scope.filters={"filters": 
         [{"filterId":"106","filtername":"Service Line","filterValue":"ADI"}, 
          {"filterId":"107","filtername":"Service Line","filterValue":"L"}, 
          {"filterId":"108","filtername":"Service Line","filterValue":"M"}, 
          {"filterId":"109","filtername":"Location","filterValue":"N"}, 
          {"filterId":"110","filtername":"Band","filterValue":"O"} 

          ]}; 

Я хочу, чтобы это было изменено на нижний формат с использованием угловых символов.

$scope.filters=[{"filters": 
           {"ServiceLine":["ADI","L","M"], 
            "Location":["N"], 
            "Band":["0"]} 
           }] ; 

Может ли кто-нибудь вести меня здесь?

+0

Во-первых, по какой причине вы хотите это сделать? –

+2

Это не то, что угловатое может вам помочь. Это чистая проблема кодирования JavaScript. Вы можете использовать underscore.js или lodash.js и использовать его функцию карты, чтобы преобразовать объект json в другую форму. – kachhalimbu

ответ

0

Я согласен с kachhalimbu, что вы можете использовать underscore.js или lodash.js и использовать его функцию карты, чтобы преобразовать объект json в другую форму.

Если вы все еще хотите, чтобы преобразовать без использования другой основы вы можете сделать что-то вроде этого:

var filterObject = { "filters": {} }; 

angular.forEach($scope.filters.filters, function(filter) { 
    if(!filterObject.filters[filter.filtername]) { 
    filterObject.filters[filter.filtername] = []; 
    } 
    filterObject.filters[filter.filtername].push(filter.filterValue) 
}); 

filterObject будет содержит этот формат, который вы хотите использовать, после того, что вы можете сделать что-то вроде этого:

$scope.filters = []; 
$scope.filters.push(filterObject); 
+0

Спасибо Это сработало. :) –

+0

Приятно знать, что это сработало для вас :) –

Смежные вопросы