Libjson.

um analisador e impressora JSON
Baixe Agora

Libjson. Classificação e resumo

Propaganda

  • Rating:
  • Licença:
  • LGPL v3
  • Preço:
  • FREE
  • Nome do editor:
  • vincenthz

Libjson. Tag


Libjson. Descrição

Um analisador e impressora JSON A Libjson é uma pequena biblioteca C e a pequena faixa de código que embala um analisador eficiente e uma impressora configurável. Ele é distribuído na licença LGPLV2, ou na sua opção, a LGPLV3 License.Using ITParsingParsing é realmente fácil, primeiro você precisa inicializar um contexto com: intit; json_parser parser; ret = json_parser_init (parser, null, my_callback_data); if (ret) {fprintf (stderr, "algo errado aconteceu durante o init "); return Ret;} my_callback e my_callback_data são a função de retorno de chamada com o ponteiro de retorno de chamada que o analisador vai ligar após cada eventos de análise interpretar que a estrutura analisadora precisa alocar alguns dados, portanto, quando o contexto do analisador não estiver mais usado, É necessário ser gratuito: JSON_PARSER_FREE (analisador); agora esta é a parte mais importante, a alimentação real de dados para o analisador. A função principal a ser usada é JSON_PARSER_STRING; é preciso um contexto de parser, uma string e um comprimento, e opcionalmente Faça um ponteiro int para poder devolver o número de bytes processados que só é útil em caso de erro no fluxo. O exemplo a seguir mostram como é feito ao ler um JSON de uma string na memória: char my_json_string [] = "{ "Key": 123} "; ret = json_parser_string (parser, my_json_string, Strlen (my_json_string), null); if (ret) {/ * erro ocorrido: Imprima uma mensagem ou algo assim * / Break;} A última parte é o retorno contexto, que é chamado de cada evento de análise. O seguinte é o Parâmetros de função de retorno de retorno de chamada: int my_callback (VOID * USERDATA, INT Digite, const char * dados, Uint32_t Comprimento) O retorno de chamada é chamado com o primeiro usuário. Isso é o que foi registrado no Parser Init, como my_callback_data. É útil passar quaisquer dados (como ponteiro para eles) para o retorno de chamada, como um contexto, um identificador, etc., então o evento de análise é representado pelo seu tipo e opcionalmente um dados válidos e comprimento.Aqui é uma função de chamada completa Isso é apenas imprimir alguma informação: int my_callback (void * userdata, int digitar, const caractere * dados, uint32_t comprimento) {switch (type) {case json_object_begin: caso json_array_begin: printf ("Estrutura inserida "); intervalo; caso JSON_OBJECT_END: Case JSON_ARRAY_END: Printf (" Estrutura final "); Caso JSON_KEY: Caso JSON_STRING: Caso JSON_INT: Caso JSON_FLOAT: Printf ("% * s ", comprimento, dados); quebra; caso JSON_NULL: Caso JSON_TRUE: Caso JSON_FALSE: Printf (" Constant ")}}}}} A impressão é ainda mais fácil do que a análise. Primeiro, você precisa de um contexto de impressão e uma função de retorno de chamada de gravação. A função de retorno de chamada de gravação é responsável por colocar os dados marshalled (a string) onde você deseja. Por exemplo, você deseja. Por exemplo, você deseja. Por exemplo, você deseja Imprimir em um arquivo, para um soquete ou para um buffer de memória que cresce.Não completar ... Aqui estão algumas características principais de "libjson": · Parser interruptível: Obtenha os dados do JSON ao analisador de qualquer maneira que você quiser; Ao anexar char por char, ou pedaços de string, a leitura de entrada é completamente esquerda para o chamador. · Nenhum modelo de objeto integrado: Integração fácil com qualquer modelo pelos meios de retorno de chamada simples. · Pequena faixa bancária: analisador transmissível e fatoração eficiente tornam o código pequenos. · Suporte completo JSON: testado através de um testículo pequeno e preciso. · Nenhuma conversão nativa: apenas string de dados de chamada de dados e deixar a representação real de dados para o chamador · Suporta colocar limites no nível de nidificação · Suporta a colocação de limites em tamanho (string / int / float) · Opcionalmente suporta Yaml / Python e C comentários. · Suporta funções de alocação específicas de projetos para integrar completamente os projetos · Utilitário JSONLINT fornecido com a biblioteca para verificar, ou reformatar o fluxo JSON. Também é útil como exemplo sobre como usar a biblioteca. O que há de novo nesta versão: · Algumas correções nas regras de instalação, adicione um arquivo PC para pkgconfig


Libjson. Software Relacionado

Pathcreator.

Ferramenta para criar um caminho de renderização de som 3D, dado um ouvinte, alto-falantes, caminho de áudio e pista de áudio. ...

165

Download