web-dev-qa-db-fra.com

Quelle est la différence entre ObjectNode et JsonNode à Jackson?

Selon la documentation de JsonNode :

Cependant, la plupart des mutateurs doivent être accessibles via des sous-classes spécifiques (telles que ObjectNode et ArrayNode).

Cependant, je suis toujours perplexe, car certaines réponses stackoverflow semblent les utiliser de manière assez interchangeable. Quel but différent servent-ils?

39

JsonNode est une classe de base que ObjectNode et ArrayNode s'étendent. JsonNode représente toute structure Json valide dans laquelle ObjectNode et ArrayNode sont des implémentations particulières pour les objets (cartes aka) et les tableaux, respectivement.

ArrayNode a des méthodes spécifiques pour traiter les tableaux tels que get(index i) E.g. vous ne pouvez pas obtenir un élément à un index spécifique dans un JsonNode ou ObjectNode mais vous pouvez le faire dans un ArrayNode.

50
bhspencer