LOOPING DATASET JSON

A resposta JSON do método JSON.parse(vo.getResult()) do serviço que estou usando possui vários nós ou seja várias tabelas filhas, estou tentando criar uma lista com a tabela filha do json e ele so me retorna uma linha. Era pra retornar uma lista. Já seu parse o stringify e nada. Preciso gerar uma lista do Objeto ListaTema.

Estrutura exemplo: do retorno do json do web service.

for (var i = 0; i < json.length; i++) {

for (var j= 0; j <json.length; j++) { dataset.addRow([json[i].ListaTema[i]["CodAreaTematica"]]); } }

[{
"Nome":"Carlos",
"CodigoResp":122333
},
ListaTema:[
{"CodAreaTematica":2800,"
DescAreaTematica":"Empreendedorismo",
"CodSubTema":10302,
"DescSubTema":"Comportamento empreendedor"
},
{"CodAreaTematica":2400,
"DescAreaTematica":"Mercado e vendas",
"CodSubTema":10416,
"DescSubTema":"Relacionamentos com cliente - CRM"}
]
}];

Codigo do dataset:

function createDataset(fields, constraints, sortFields) {

    var dataset = DatasetBuilder.newDataset();
    var ID = 191440100639;

    var cont;
    var filtro;

    try {
        var clientService = fluigAPI.getAuthorizeClientService();

        var data = {
            companyId: getValue("WKCompany") + '',
            serviceCode: 'produtosws',

            //endpoint: '/Portfolio/Consultar?ID='+ID+'',
          endpoint: '/Portfolio/Consultar?ID=191440100639',
            method: 'get'
        }
        var vo = clientService.invoke(JSON.stringify(data));
        log.info("vo PORTFOLIO >>>  " + vo);


        if (vo.getResult() == null || vo.getResult().isEmpty()) {
            //throw new Exception("Retorno está vazio");//
        } else {
            log.info("PORTFOLIO >> getResult()  " + vo.getResult());

            dataset.addColumn("CodAreaTematica");
            dataset.addColumn("DescAreaTematica");
            dataset.addColumn("CodSubTema");
            dataset.addColumn("DescSubTema");



            var resultado = JSON.parse(vo.getResult());
           if ((resultado.ListaTema != null) && (resultado.ListaTema != undefined)){
                for (item in resultado.ListaTema){
                    dataset.addRow(new Array([
                                item.CodAreaTematica,
                                item.DescAreaTematica,
                                item.CodSubTema,
                                item.DescSubTema
                            ])); // addRow
                } // for
         } // if


        }

    } catch (err) {
        //throw new Exception(err);
              log.info("ERROR >>" + err);
          //  dataset.addColumn("MESSAGE_ERROR");
           // dataset.addRow(new Array(-1, err, "-", "-", "VAZIO"));

    }

    return dataset;
}

Response JSON no Stringify:

{
   "ID":191440100639,
   "CodSebraeResponsavel":19,
   "Versao":1,
   "Nome":"Atendimento ao cliente",
   "CategoriaServicoID":1,
   "CategoriaServicoNome":"Sensibilização",
   "ModalidadeID":2,
   "ModalidadeNome":"Presencial",
   "AlvoID":2,
   "AlvoNome":"Empresário",
   "UnidadeOrganizacionalOrigemID":null,
   "UnidadeOrganizacionalOrigemNome":null,
   "GestorProdutoOrigemID":324084154,
   "GestorProdutoOrigemNome":"JOAO DA SILVA",
   "DataHabilitacao":"2019-07-02T16:56:30.37",
   "ComplexidadeProdutoID":2,
   "ComplexidadeProdutoNome":"Intermediário",
   "ComplexidadeMetodologiaID":null,
   "ComplexidadeMetodologiaNome":null,
   "MinimoParticipante":null,
   "MaximoParticipante":null,
   "CargaHoraria":2,
   "Certificado":"1",
   "PrecoSugerido":null,
   "Preco":0,
   "ArgumentoVenda":"Atendimento ao cliente",
   "Tag":"atendimento;cliente",
   "Observacao":null,
   "DataVigencia":null,
   "Ativo":1,
   "SituacaoID":4,
   "SituacaoNome":"Disponível",
   "Descricao":"Sensibilizar os participantes para o atendimento profissional, com foco nas expectativas e necessidades dos clientes",
   "ParceiroOrigem":"0",
   "NomeParceiro":null,
   "DataProximaRevisao":null,
   "MetodologiaID":1,
   "MetodologiaNome":"Aberta",
   "FrequenciaMinima":null,
   "NotaMinima":null,
   "RegistroIsbnIssn":null,
   "CodigoRegistroMarca":null,
   "DataValidadeRegistroMarca":null,
   "ClasseSubClasseMarca":null,
   "CustoDesenvolvimento":null,
   "CustoOperacionalizacao":1308,
   "DisponivelPiloto":0,
   "CertificadoID":191,
   "ProdutoIntencao":1,
   "DataUltimaAlteracao":"2019-07-18T00:00:00",
   "ListaTipoServico":[
      {
         "TipoServicoID":24,
         "TipoServicoNome":"Palestra"
      }
   ],
   "ListaTema":[
      {
         "CodAreaTematica":2800,
         "DescAreaTematica":"Empreendedorismo",
         "CodSubTema":10302,
         "DescSubTema":"Comportamento empreendedor"
      },
      {
         "CodAreaTematica":2400,
         "DescAreaTematica":"Mercado e vendas",
         "CodSubTema":10416,
         "DescSubTema":"Relacionamentos com cliente - CRM"
      }
   ],
   "ListaSebraeCesta":[

   ],
   "ListaMicromomento":[

   ]
}
]
compartilhar
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do fluig Forum!

1 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags rest json datasets ou faça a sua própria pergunta.