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?
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
.