更正格式或订购json数组

时间:2016-12-06 18:42:17

标签: angularjs json ionic-framework angularjs-ng-repeat

我遇到了问题。从WebService我收到以下数组:

"Value": [{
    "celda_id": 1,
    "indicador_id" : 5,
    "valores_celdas": [{
        "celda_key_codigo": "CODIGO",
        "celda_key_valor": "CHECK1"
    }, {
        "celda_key_codigo": "IMAGEN",
        "celda_key_valor": "L76nD.jpg"
    }, {
        "celda_key_codigo": "SUBTEXTO",
        "celda_key_valor": "prueba subtexto 1"
    }, {
        "celda_key_codigo": "TEXTO",
        "celda_key_valor": "Prueba dominio 1"
    }]
}, {
    "celda_id": 7,
    "indicador_id" : 5,
    "valores_celdas": [{
        "celda_key_codigo": "CODIGO",
        "celda_key_valor": "24567"
    }, {
        "celda_key_codigo": "IMAGEN",
        "celda_key_valor": "estrenimiento-gato-bebe2-xl-668x400x80xX.jpg"
    }, {
        "celda_key_codigo": "SUBTEXTO",
        "celda_key_valor": "sd"
    }, {
        "celda_key_codigo": "TEXTO",
        "celda_key_valor": "sdfsdfdsf"
    }]
}]

控制器:

$scope.getCheckList = function() {
    $scope.show();
    var parametros = { "gsalid": $scope.gsalId, "codcategoria": $scope.categoria_codigo };
    $http({
        method: 'POST',
        url: UrlGetCheckList.url,
        data: JSON.stringify(parametros),
        dataType: "json",
        contentType: "application/x-www-form-urlencoded"

    }).then(function success(response) {
        $scope.hide();
        $scope.groups = response.data.GetCheckListResult.indicadores;
        angular.forEach($scope.groups, function(group, index){
            angular.forEach(group.Value, function(value, index){

            });
        });
    }, function error(response) {
        /* Error llamada */
        $scope.groups = sessionService.get('checklist');
        $scope.hide();

    });
}

问题在于,你可以看到两种安排都有共同的领域" indicator_id"。这些"中的每一个"细胞"是一个项目,即:

<ion-item>
   IMAGEN : celda_key_valor //celda_key_condigo = IMAGEN
   TEXTO : celda_key_valor //celda_key_codigo = TEXTO
   SUBTEXTO : celda_key_valor //celda_key_codigo = SUBTEXTO
   CODIGO : celda_key_valor //celda_key_codigo = CODIGO
</ion-item>

我试图做的是:

<div ng-repeat="item in Value track by item.celda_id" ng-show="isGroupShown(group)">
    <!-- Indicador tipo 1 -->
    <div ng-show="item.indicador_id == '5'">
        <div ng-repeat="celda in item.valores_celdas track by $index">
            {{celda}}
        </div>
    </div>
</div>

&#34; celda&#34;等于:

{
    "celda_key_codigo": "CODIGO",
    "celda_key_valor": "CHECK1"
}, {
    "celda_key_codigo": "IMAGEN",
    "celda_key_valor": "L76nD.jpg"
}, {
    "celda_key_codigo": "SUBTEXTO",
    "celda_key_valor": "prueba subtexto 1"
}, {
    "celda_key_codigo": "TEXTO",
    "celda_key_valor": "Prueba dominio 1"
},
{
    "celda_key_codigo": "CODIGO",
    "celda_key_valor": "24567"
}, {
    "celda_key_codigo": "IMAGEN",
    "celda_key_valor": "estrenimiento-gato-bebe2-xl-668x400x80xX.jpg"
}, {
    "celda_key_codigo": "SUBTEXTO",
    "celda_key_valor": "sd"
}, {
    "celda_key_codigo": "TEXTO",
    "celda_key_valor": "sdfsdfdsf"
}

这不是我所期望的,因为我不能按类型分开它们。为您找到的每个值单元格生成1个项目,这不是我需要的。我知道问题是JSON的格式,遗憾的是我无法编辑WebService,因为我收到了数据,我需要从视图中编辑它们才能正确显示它们。

<ion-item> celda_id == 1
   IMAGEN : celda_key_valor //celda_key_condigo = IMAGEN
   TEXTO : celda_key_valor //celda_key_codigo = TEXTO
   SUBTEXTO : celda_key_valor //celda_key_codigo = SUBTEXTO
   CODIGO : celda_key_valor //celda_key_codigo = CODIGO
</ion-item>
<ion-item> celda_id == 7
   IMAGEN : celda_key_valor //celda_key_condigo = IMAGEN
   TEXTO : celda_key_valor //celda_key_codigo = TEXTO
   SUBTEXTO : celda_key_valor //celda_key_codigo = SUBTEXTO
   CODIGO : celda_key_valor //celda_key_codigo = CODIGO
</ion-item>
....

所以它应该适用于这个例子,或者如果它们来得更多,每个valores_celda的一个项目

0 个答案:

没有答案