Javascript: array.length retorna indefinido

Eu tenho um conjunto de dados que estão sendo transmitidos pelos PHP'sjson_encode função. Estou usando o jQuerygetJSON função para decodificá-lo:

$.getJSON("url", function (data) {
    console.log(data);
});

A saída se parece com isso no console:

Object {1: Object, 2: Object, 3: Object, 4: Object, 5: Object, 6: Object, 7: Object, 8: Object, 9: Object, 10: Object}

Eu posso acessar cada matriz usandodata[1], data[2] etc, mas para facilitar, pensei em fazer o loop para poder acessar tudo de uma vez:

$.getJSON("url", function (data) {
    for (var i = 0, len = data.length; i < len; i++) {
        //do something
    }
});

No entanto, não consigo fazer isso funcionar porque odata.length retorna o valorundefined. O que está errado e como posso corrigi-lo?

questionAnswers(5)

yourAnswerToTheQuestion