Ao carregar JSON use o jQuery .promise (), assim:
var object = {};
$.ajax({
url: 'someURL.php/someparam'
sucess: function(data){
$.each(data, function(key, val){
object.push(val)
})
}
}).promise().done( function(){
do something with object
} );
Isso elimina a configuração de tempos limite ou atrasos enquanto o JSON carrega, ele atua como um retorno de chamada para o $ .ajax
Espero que isso ajude, com certeza me ajudou recentemente.