For anyone ever finding this post again and having the same problem: the LivingEntity class has a method "serializeNBT()" that you can use to save it to nbt as such:
nbt.put("name", livingEntity.serializeNBT())
with "name" the name you want to save it under and "livingEntity" as the name of the object you want to save.
Idk how to load it though, and another question I have is that when I load the entity form nbt, is it still a reference to the entity in the world (so that if I use a kill or hurt function on it will the entity in the world that is saved also get hurt?)?