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
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 2022Como 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 2022POC seria um fonte com a simulação do problema isolado =)
— Daniel Mendes 21 de Oct de 2022Mas os objetos que você diz estarem dentro do JSON, são objetos ou são outros JSONs?
— Daniel Mendes 21 de Oct de 2022Deu 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 2022As propriedades de um json são únicas e são case sensitive, posso ter dois nomes iguais mudando o case. A linguagem tem sim suas palavras case sensitive, mas no geral ela com certeza ignora o case de mais de 90% das palavras reservadas.
— Daniel Mendes 24 de Oct de 2022