I couldn't find any major differences between them. On8 has better display than J7 2016 and J7 2016 has better processor than On8. I'm using J7 2016. Its performance is very good. I have seen On8 also. J7 2016 is slightly faster than On8 and has better graphics too. You can go through this comparison too. Compare. I'm attaching a video which I just found on YouTube. This might help you in picking a best one.
In terms of overall camera performance, Samsung Galaxy On 8 is a much better option as it comes with a better front camera performance because it offers a front camera with 1.9F aperture size as compared to 2,2F in Samsung Galaxy J7.
Xiaomi Redmi Note 3 32GB should better ,cameras and the battery life are the major highlights of the phone. If you are looking for a mid-range yet powerful smartphone, then this is worth going for.Samsung Galaxy On8 vs Xiaomi Redmi Note 3 32GB
On8 camera is far better than j7 prime.you also get front flash in on8 for low light selfie but you don't get in j7 prime. Images captured by on8 is far better than j7 prime because of super amoled display but you get inferior display of tft in j7 prime.
Samsung Galaxy On8 is better ,it Packed with loads of quality specs, like fast processor, quality camera, good storage it is one of the obvious choices if you have a mid ranged budgetSamsung Galaxy On8 vs Samsung Galaxy J7 2016
I am currently using On8 and its a good phone :) I love its display and cameras . Don't know about J7 prime . No one in my circle has this phone. You can check Comparison. New phone Vivo V5 has also launched in this same price . Check that also :)