Ключи объекта расположены не в определенном порядке. Они могут быть возвращены в любом порядке после помещения в объект javascript. Это как язык был разработан и как указано.
Если вы хотите, чтобы они были в определенном порядке, то вам нужно, чтобы данные были в массиве (упорядоченном), или вам нужен упорядоченный индекс только для ключей, которые позволят вам получить доступ к ключам в нужном порядке.
Массивы имеют согласованный порядок, объекты - нет.
Мне кажется, что вам может понадобиться структура данных, которая выглядит следующим образом:
{
"count": 3,
"items": [
{
"name": "tardis",
"type": 40,
"title": "Tardis",
"timeMachine": true,
"reliable": true
},
"name": "stargate",
"type": "Milky way gate",
"title": "Stargate + solar flare",
"timeMachine": true,
"reliable": false
}
]
}
Таким образом, элементы находятся в массиве с определенным порядком: items[0]
, items[1]
и т. Д. *
К вашему сведению, когда вы делаете это таким образом, вам не нужно значение "count"
, потому что массив items
будет иметь items.length
.
Без значения счетчика весь ваш ответ может быть просто массивом объектов:
[
{
"name": "tardis",
"type": 40,
"title": "Tardis",
"timeMachine": true,
"reliable": true
},
"name": "stargate",
"type": "Milky way gate",
"title": "Stargate + solar flare",
"timeMachine": true,
"reliable": false
}
]