Validar Schema Json

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

lwinter
Usuário Nível 3
Usuário Nível 3
Mensagens: 123
Registrado em: 07 Mar 2011 12:08
Localização: Campinas - SP

Validar Schema Json

Mensagem por lwinter »

Para facilitar a utilizacao de Json, a fase de validacao do Schema do Json é fundamental.
Nao sei se alguem ja fez isso em Harbour. Verifiquei que existe exemplos de validacao de schemas de XML neste forum.
Se alguem tiver alguma coisa pronta seria muito util a comunidade.

Obrigado!
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Validar Schema Json

Mensagem por asimoes »

Pelo que eu saiba não existe uma função expecifica para validar um arquivo JSON mas tem alguns testes que podem ser usados como este, mas tem outros testes, o básico é isso

Código: Selecionar todos

   hTable := Hb_Hash()
 
   Hb_JSONDecode( Hb_MemoRead( "arquivo.json" ), @hTable )
   
   If ValType( hTable ) = "H"
      * Identificado como Hash de um json
   Endif

►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Validar Schema Json

Mensagem por asimoes »

Depois que retorna o hash com o decode:
Pode fazer estes testes:

Código: Selecionar todos

 PROCEDURE Main
      LOCAL hHash := Hash()
      LOCAL cLang := "German"

      hHash[ cLang     ] := NIL
      hHash[ "Message" ] := ""

      IF HHasKey( hHash, "English" )
         hHash[ "Message" ] := "Hello World"
      ELSEIF HHasKey( hHash, "German" )
         hHash[ "Message" ] := "Hallo Welt"
      ENDIF

      ? hHash[ "Message" ]
   RETURN
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
lwinter
Usuário Nível 3
Usuário Nível 3
Mensagens: 123
Registrado em: 07 Mar 2011 12:08
Localização: Campinas - SP

Validar Schema Json

Mensagem por lwinter »

asimoes, nao era bem isso que eu tinha em mente. Na realidade eu estava querendo validar igual a gente ja faz para o XML. Voce tem um schema e valida se a pessoa inclui algum campo errado ou com tipagem errada.
Responder