Pergunta

Eu sei que o Android tem um analisador json assado, mas eu estava me perguntando se valeu a pena usar algo que oferecia melhor desempenho (como Jackson - veja http://jackson.codehaus.org/)? Alguém tentou isso?

Foi útil?

Solução

Bem, aqui está um casal do links Comparando o desempenho Jackson JSON com os buffers existentes de JSON, Sax e Protocol. Segundo o autor, Jackson é mais rápido que o Sax ou o JSON embutido e, a par dos buffers de protocolo. Essa última parte parece um pouco suspeita, mas, independentemente, certamente parece que Jackson trabalha no Android e pode valer alguma experimentação.

Eu não verifiquei o tamanho da jarra, no entanto. Se for enorme, a menos que você estivesse morrendo de vontade de performance extra em JSON, pode não valer a pena o sucesso.

Outras dicas

Desde a API 11, existe um Stream JSON Parser no Android

Resposta tardia, mas ainda pode ajudar. Estou usando Jackson para analisar o JSON do Twitter, bem como persistir Maps para o banco de dados. O mapeamento de dados em Jackson é simplesmente maravilhoso. Ser capaz de mapear o JSON diretamente para um objeto é incrível e torna tudo muito mais limpo.

Mesmo se você estiver apenas analisando as respostas simples, o mapeamento de dados pode ajudá -lo a tornar seu código mais limpo (e mais eficiente). Para mim, é deuses que não preciso escrever a lógica de análise para todos os tipos de função da API do Twitter.

Apenas mais uma perspectiva sobre esses analisadores. Eu estava olhando para o Google IO para 2009 e há uma conversa muito boa sobre o uso eficiente da bateria para desenvolvedores de aplicativos.

Aqui está o link para essa conversa: link

Agora, de acordo com a palestra, o Parson para Android é baseado em árvores e estes devem ser ineficientes quando se trata de duração da bateria. Alguém realmente analisou isso.

Lendo esta discussão, parece que Jackson Parser parece ser um vencedor em tudo. É quase igualmente rápido, se não mais do que o embutido, e também seu evento/fluxo baseado em oposição à árvore, o que é melhor em termos de uso da bateria.

Apenas eu queria compartilhar e obter algumas opiniões sobre isso.

Eu uso Jackson JSON para implementar meu aplicativo Android que se comunica com o servidor via JSON-RPC. Gostaria de usá-lo para serializar/desserializar solicitações e respostas e respostas JSON-RPC para transferir os dados. Eu uso a versão 2.0 do Jackson-Json. Eu coloquei meu caminho de construção dois frascos: Jackson-Databind-2.0.0.jar, Jackson-core-2.0.0.jar e Jackson-Annotações-2.0.0.jar.

Na nota lateral: existem alguma implementação JSON-RPC para o Android. O tráfego JSON-RPC e HTTP separado seria bom. Eu pesquisei muito no Google, a BU não encontrei um bom gerador JSON-RPC, JSON Serializer / Deserializer e, para o transporte, eu irei com o Android-Query.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top