I don't know why your loop never stops, maybe you are running it on every tick? You should probably run it only once on layout start, or when JSON is loaded. There is a template in C3 which shows how to load and read data from JSON, check it out.
Regarding images loading - each image needs to be loaded into a separate frame. So you need to create enough empty frames in the sprite, and set animation speed to 0.
In runtime you need to create a sprite instance, set frame 0 and load image from URL. Then create another sprite instance, set frame 1 and load image. Repeat for all images in JSON.