I think JSON vs XML is a strange dichotomy. Both can be processed by machines, but they're very different.
I've seen XML work really well for dictionary data. You want to mark up text:
A dog is a domesticated <group>animal</group>.
In other words JSON : CSV :: XML : HTML.
I'm not sure about teaching OO in terms of shape hierarchies or animal species hierarchies. It might help intuition, but doesn't reflect typical usage IME.
If you did model animals in an OO style, you'd be more likely to have base classes or interfaces like IFarmable, IHuntable.