Erro ao acessar um ARRAY dentro de um objeto

Bom dia, pessoal. Estou desenvolvendo uma integração, onde o JSON possui um objeto dentro de outros objetos, e dentro desses objetos possui um array. O Conteúdo que preciso acessar, está no caminho: OOBJAUX:SIMULADOFATURAFILHOS[nX]:PACOTEMENSAL:FATURA Porém, quando vou inserir esse caminho no código, o vscode me retorna com erro de síntaxe e não deixa eu compilar. Mas eu fazendo o mesmo comando na linha de debug, ele me retorna normalmente.

Eu criei uma varíavel do tipo objeto, que recebe o objeto := OOBJAUX:SIMULADOFATURAFILHOS[nX]:PACOTEMENSAL, ai eu tento acessar a variável:FATURA, também apresenta erro.

Alguma ideia de como consigo acessar esse conteúdo.

Segue também trecho do código:

For nX := 1 to len(oObjAux:SIMULADOFATURAFILHOS)
                Z41->Z41_FILIAL := GetFilial(cFil)
                Z41->Z41_ITEM     := "0"+cValtoChar(nX)

                oFatura := OOBJAUX:SIMULADOFATURAFILHOS[nX]:PACOTEMENSAL

                IF len(oFatura:FATURA) > 0
                ENDIF

            next Nx

VARIAVEL.png debug.png

compartilhar
  • Olá, consegue criar um POC para reproduzir esse problema? O que é um JSON, tudo faz parte de um JSON? Se sim, basta anexar o json e simulo via o método FromJson do JsonObject.

    Daniel Mendes   21 de Oct de 2022
  • Como assim uma POC? Sim sim, tudo faz parte de um JSON. Mas dentro do JSON tenho objetos e dentro de objetos, outros objetos e arrays e assim por diante.

    lneto10   21 de Oct de 2022
  • POC seria um fonte com a simulação do problema isolado =)

    Daniel Mendes   21 de Oct de 2022
  • Mas os objetos que você diz estarem dentro do JSON, são objetos ou são outros JSONs?

    Daniel Mendes   21 de Oct de 2022
  • Deu certo aqui. Descobri o que era o erro. Apesar de todas as propriedades do JSON eu passar como MAIÚSCULO, o "fatura" eu passei como minúsculo e deu certo, não retornou erro de síntaxe e consegui acessar os objetos dentro dele. Estranho, porque a linguagem não é case sensitive. Até suspeitei que poderia ser uma palavra reservada do ADVPL, mas vai saber.. rs Obrigado pela ajuda.

    lneto10   24 de Oct de 2022
Mostrar todos os 6 comentários>
  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 TOTVS DevForum!

0 resposta

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