2015-12-21 18 views
1

我的JSON是这个

[ 
{ 
    "usuario": { 
     "id": 2, 
     "username": "licorera1" 
    }, 
    "productos": [ 
     { 
      "id": 2, 
      "descripcion": "Botella", 
      "precio": "1500000", 
      "marca": { 
       "nombre": "Red Label", 
       "tipo": { 
        "descripcion": "Whiskey" 
       } 
      }, 
      "imagen": "http://192.168.0.12:8000/media/producto/redlabel.png" 
     }, 
     { 
      "id": 1, 
      "descripcion": "Media Botella", 
      "precio": "50000", 
      "marca": { 
       "nombre": "Nectar", 
       "tipo": { 
        "descripcion": "Aguardiente" 
       } 
      }, 
      "imagen": "http://192.168.0.12:8000/media/producto/nectarrojo_qgCTYsx.jpg" 
     } 
    ] 
} 
] 

和我想做的事是让只有德对象“PRODUCTOS”。

的JSON的整个网址是http://192.168.0.12:8000/api/productos_licorera/?pk=2&licorera=

所以在我services.js我使用$资源得到德JSON

这是我services.js

(function(){ 

angular.module('productos.services',['ngResource']) 

.factory('LicoresService',['$resource',function($resource){ 
return $resource('http://192.168.0.12:8000/api/productos_licorera/', {}, { 
    query: {method:'GET', params:{pk:2,licorera:''}, isArray:true} 
    }); 
}]); 
})(); 

这是我的controller.js

(function(){ 

angular.module('productos.controllers',[]) 
.controller('LicoresController',['$scope','$http', '$resource', 'LicoresService',function($scope, $http,$resource, LicoresService){ 
    var licores; 
    var show = false; 
    $scope.licores = LicoresService.query(); 
}]) 
.controller('TabsController', function() { 
    this.tab = 4; 
    this.selectTab = function (tab) { 
    this.tab = tab; 
     console.log(this.tab); 
    }; 
});  
})(); 

我需要在变量“licores”n所有的Json,只有“productos”对象。

回答

0

JSON是'传输'格式。您无法传输部分JSON。
虽然,你已经解析JSON后,常规的JavaScript对象,你可以选择的关键你喜欢:

$scope.licores = JSON.parse(LicoresService.query())[0].licores; 

希望这可以帮助你......

+0

感谢您的帮助,但它不作品。我正在考虑get({id:'1'})之类的东西,但它可以与我需要的密钥一起使用,例如get({product})。有这样的事情吗? –