You can get confusing advice on this issue because people have gone through JNB with ammo in their luggage, while others say it has to be in its own locked container. Both of these statements are true.
As a result of the way in which airlines handle baggage, the rules of the first carrier tend to be the ones applied to the entire trip (it's a bit more technical than that, but that will do for this discussion). In North America, the airlines are fine with ammo in checked luggage, as long as it's separate from the firearms. So if you start your journey in North America, and put your ammo with your clothing, there's no problem, even if they put "ammunition" stickers all over your bag. This is the case if you are flying to South Africa, or transmitting South Africa with your final destination somewhere else (and not entering South Africa, even to overnight).
But if you are checking in for a flight in South Africa, either a connecting domestic flight or from South Africa to another country, the South Africa rules will apply and you will need a separate, locked bag for the ammo. Equally, if you are flying home from South Africa (or really anywhere in Africa) and bringing ammo back with you, it will need to comply with the African rules that ammo must be in a separate locked container (I am not aware of any African carrier that does not have this rule, but they may exist).
The result of all of this is that if you are flying to Jo'burg and no further, and not planning on taking any ammo home with you, you can forget about the locked container, and fly the normal way.
Having said that, most of us just put the ammo in a separate locked container for every flight, because you never know, and this method guarantees the most flexibility. If you comply with the strictest rules, you will never have a problem.
Note that if your destination is JNB and you choose to put ammo in your regular bags, your luggage will go the the firearms office though - they may want to check the ammo.