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":[
]
}
]