Versão atual:

Erro JSON.parse

Estou criando um dataset customizado apartir de um retorno de uma API. Essa API esta construída em PHP. O seu retorno esta vindo no seguinte formato:

[{"codprof":"2359","nomeprof":"WENDEL CORTES MARTINS"}]

Quando eu dou um log.dir dentro do Fluig o retorno aparece assim:

"[{\"codprof\":\"2359\",\"nomeprof\":\"WENDEL CORTES MARTINS\"}]" (não sei porque)

Sendo assim eu não estou conseguindo pegar o valor que eu preciso como por exemplo: json.codprof ou json["codprof"] se eu tento da um JSON.parse da erro. Alguém por favor pode me dar uma luz.

Código Completo:

function createDataset(fields, constraints, sortFields) {
    var dataset = DatasetBuilder.newDataset();
    try{
        var clientService = fluigAPI.getAuthorizeClientService();
        var data = {
            companyId : getValue("WKCompany") + '',
            serviceCode : 'APIRM',                     
            endpoint : '/getProf/?cpf=xxxxxxxxxxxx',
            method : 'get',                                        
        }

        var vo = clientService.invoke(JSON.stringify(data));

        log.info('dataset vo:' + vo.getResult());
        log.dir(vo.getResult());

        if(vo.getResult()== null || vo.getResult().isEmpty()){
            throw new Exception("Retorno está vazio");
        }else{
            dataset.addColumn("codprof");
            dataset.addColumn("nomeprof");

            var json = vo.getResult();

            log.info('dataset json: ' + json);
            log.dir(json);

            json = JSON.parse(json); // Da erro

            dataset.addRow([json.codprof, json.nomeprof]);
        }
    } catch(err) {
        throw new Exception(err);
    }
    return dataset;
}

Versões (2):

Ver a versão formatada

Erro JSON.parse

Comentário

new question