Eu tenho um servidor que está retornando uma mensagem JSON muito grande e meu aplicativo cliente depende apenas de parte dessa resposta. O aplicativo cliente precisa verificar se a propriedade "xyz" existe na mensagem JSON e, dependendo do resultado, execute uma base de dados específica.
Para esse requisito, converter toda a mensagem JSON em objeto parece um pouco caro para mim e, portanto, esta pergunta.
Existe uma linguagem de consulta JSON padrão como a que temos para XML? Se sim, o que é melhor saber a implementação dessa linguagem de consulta em java.
FYI: Alterar ou adicionar novo serviço no lado do servidor não é uma opção.
JSON.getString(json_string, 'foo.22.bar')
(para, propriedade "barra" no elemento 22 de lista a propriedade "foo", que contém uma cadeia de caracteres)JSON baz = new JSON(json_string); baz.getString('foo.22.bar');
, por exemploRespostas:
Por que não usar apenas javascript? (JSON é uma Notação de Objeto Javascript, afinal). Você não precisará analisar ou manipular o JSON.
EDIT Dê uma olhada em http://json.org/java
Não é. Desserializar um objeto é barato (teste você mesmo). Conversar com a API externa será uma ordem de magnitude mais cara. Você pode manipular diretamente a string, que pode ser um pouco mais rápida, mas você corre o risco de erros, reduz a extensibilidade e a legibilidade. Um alto custo.
fonte
"Meça, não adivinhe". Sim, a serialização e desserialização de objetos podem ser caras em teoria, mas quais são os objetivos de desempenho do seu aplicativo? Se a (des) serialização de objetos não elevar seu desempenho a níveis inaceitáveis, não se preocupe :-). A chave do curso é saber quais devem ser os limites de desempenho (por exemplo, tempo de resposta ao usuário em 2 segundos) e medir cada parte do ciclo de solicitação / resposta.
fonte