Qual a diferença de inicializar uma variável local com `Local jDadosJson as Json` e `Local jDadosJson := JsonObject():new()`?

Eu estou iniciando agora no mundo do ADVPL e TLPP, gostei bastante do TLPP pois é muito parecido com C# e Spring Boot... Porém como tem pouca documentação, tem algumas coisas que eu estou tendo duvidas.

Essa é uma delas, eu sei que é bem básica e eu acho que é a mesma coisa, mas como percebi que essa linguagem possui algumas peculiaridades, eu gostaria de saber da comunidade...

Tenho o seguinte método @get no código:

Method get() as Logical Class SolicitacaoArmazemController

    // Setar Empresa e Filial no começo do App (Necessário)
    rpcSetEnv(cEmpAnt, cFilAnt)

    ConOut("SolicitacaoArmazemController:get - Coletando os Parametros da Query e do JSON Body")

    Local jParam as Json
    Local jBody := JsonObject():new()

    jParam := oRest:getQueryRequest()

    /* 
    NOTA sobre o Local jBody:

    Atribui o VALOR do PARAMETRO NO JSON enviado no BODY para uma VARIAVEL Local pra printar no Log.
    O JSON enviado de exemplo foi:

    {
        "parametro": "Teste"
    }

    Deve printar "Teste".

    Documentação do Body: https://tdn.totvs.com/display/tec/Body

    */

    jBody:fromJson( oRest:GetBodyRequest() )
    If ( jBody <> Nil)
        cParametroNoJson := jBody:GetJsonText("parametro")
        If ( cParametroNoJson == "null" )
            cParametroNoJson := Nil
        Else
            ConOut("SolicitacaoArmazemController:get - Parametro no JSON: " + cParametroNoJson)
        EndIf
    EndIf

    ConOut("SolicitacaoArmazemController:get - Configurando os Headers e a Response")
    oRest:setKeyHeaderResponse('Content-Type', 'application/json; charset=utf-8')    
    oRest:setResponse(cResponseJson)

    // Resetar a Empresa/Filial e liberar licenças utilizadas.
    rpcClearEnv()

Return .T.

Eu iniciei as variáveis locais jParame jBody de formas diferentes de propósito, pois eu gostaria de saber se ao usar as Json é só uma forma mais direta de fazer JsonObject():new()...

Qual a diferença entre as duas sintaxes? É a mesma coisa?

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 TOTVS DevForum!

1 resposta

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