Если порядок объектов значительный, вам следует пересмотреть свою схему JSON, чтобы сохранить объекты в массиве:
[
{"name":"foo", ...},
{"name":"bar", ...},
{"name":"baz", ...}
]
или, может быть:
[
["foo", {}],
["bar", {}],
["baz", {}]
]
Как отмечает Бен Альперт, свойства объектов Javascript неупорядочены, и ваш код нарушается, если вы ожидаете, что они будут перечисляться в том же порядке, в котором они указаны в литерале объекта - свойства "first" не существует.