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!
Validar Schema Json
Moderador: Moderadores
Validar Schema Json
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)
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)
Validar Schema Json
Depois que retorna o hash com o decode:
Pode fazer estes testes:
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)
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)
Validar Schema Json
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.

