Voici quelques versions alternatives avec Jackson (car il y a plus d'une façon de vouloir des données) :
ObjectMapper mapper = new ObjectMapper(); // just need one
// Got a Java class that data maps to nicely? If so:
FacebookGraph graph = mapper.readValue(url, FaceBookGraph.class);
// Or: if no class (and don't need one), just map to Map.class:
Map<String,Object> map = mapper.readValue(url, Map.class);
Et notamment le cas habituel (IMO) où vous voulez traiter des objets Java, peut être fait en une seule ligne :
FacebookGraph graph = new ObjectMapper().readValue(url, FaceBookGraph.class);
D'autres librairies, comme Gson, prennent également en charge des méthodes d'une ligne ; il est donc étrange que de nombreux exemples présentent des sections beaucoup plus longues. Pire encore, de nombreux exemples utilisent la bibliothèque obsolète org.json ; elle a peut-être été la première à exister, mais il existe une demi-douzaine de meilleures alternatives et il y a donc très peu de raisons de l'utiliser.
9 votes
La gestion des exceptions est nécessaire car Java vous oblige à gérer toutes les exceptions qui sont déclarées. Qu'est-ce qui ne va pas avec la gestion des exceptions ?
3 votes
Eh bien, le "java vous force" est le plus gros problème.
9 votes
Si Java ne vous obligeait pas à gérer les exceptions, pensez-vous que les programmes fonctionneraient toujours et fonctionneraient bien ? Et si on me demandait d'entrer mon âge dans un programme et que je donnais snarfleblagger comme entrée ? Java devrait-il permettre au programme de s'exécuter sans problème ? Si vous ne voulez pas gérer les exceptions, déclarez-les comme étant lancées par les méthodes dans lesquelles elles peuvent apparaître et regardez votre programme échouer lorsque quelque chose n'est pas parfaitement correct.
3 votes
Ce n'est pas une question stupide du tout. Surtout si l'on vient de PHP où vous pouvez faire cela avec
json_decode(file_get_contents($url));
et c'est fait !