hb-flatten-json é uma biblioteca escrita em Harbour para manipulação de JSON, permitindo a conversão entre estruturas aninhadas e formatos achatados, facilitando o processamento e a análise de dados.
- Flatten: Converte um JSON aninhado em um formato achatado.
- UnFlatten: Restaura o JSON achatado para sua estrutura original.
- Suporte para arrays de objetos.
- Implementação otimizada para Harbour.
Para utilizar a biblioteca, basta incluir os arquivos-fonte no seu projeto Harbour:
hbmk2 seu_projeto.hbp -i src/core/hb_flatten_json.prg#include "hbjson.ch"
REQUEST HB_JSON
LOCAL cJson, hData, cFlattenedJson
cJson := '{ "pessoa": { "nome": "Naldo", "idade": 30 } }'
hData := hb_jsonDecode( cJson )
cFlattenedJson := Flatten( hData )
? hb_jsonEncode( cFlattenedJson )LOCAL hFlattened, hOriginal
hFlattened := { "pessoa.nome": "Naldo", "pessoa.idade": 30 }
hOriginal := UnFlatten( hFlattened )
? hb_jsonEncode( hOriginal )Os testes estão localizados em src/tst/flattenjson.prg. Para executá-los:
hbmk2 flattenjson.hbp && ./flattenjsonContribuições são bem-vindas! Para contribuir:
- Faça um fork do repositório.
- Crie um branch para sua feature (
git checkout -b minha-feature). - Faça commit das suas alterações (
git commit -m 'Minha nova feature'). - Envie para o repositório (
git push origin minha-feature). - Abra um Pull Request.
Este projeto está licenciado sob a Apache-2.0.
Repositório: hb-flatten-json