There are two ways that you can do this:
1. The first method is a bit different from what you might want, but it does work, and it is really simple. Using Blender, you could export all the frames of the animation, each one in a separate obj file, and then load each one using the obj loader you have made. Then, in game you could have a number, that is the number of the current animation frame, which will be incremented each frame.
Advantages: Easy to implement.
Disadvantages: Takes up a LOT of memory, doesn't give you any control over the animation, apart from the speed of the animation.
2. Export the mesh with the animated skeleton data to a COLLADA file(.dae). COLLADA is based on xml, so it should be that hard to implement a parser. Also COLLADA provides material data along side with animation and mesh data.
Advantages: Total control over animation. Doesn't take up much space.
Disadvantages: Harder to implement.
My suggestion: Use the first method for small, low detail models and the second one for more complex model and for those that you want full control over, like the player, for things like rag doll physics.