Я использую REST API для получения некоторых данных из базы данных.JSON, полученный от API, если имеет тип MAP, т.е. содержит пары ключ-значение.
В моей вкладке сети я вижу ответ как
{
"items": {
"1.7.0": [{
"hostCount": 1
}],
"1.8.0": [{
"hostCount": 8
}],
"9.0": [{
"hostCount": 1
}],
"9": [{
"hostCount": 1
}],
"10": [{
"hostCount": 1
}],
"10.0": [{
"hostCount": 1
}],
"11.0": [{
"hostCount": 1
}],
"11": [{
"hostCount": 1
}],
"12": [{
"hostCount": 1
}]
},
"totalResults": 9,
"links": null
}
Но когда я повторяю этот ответ в своем коде JavaScript с помощью цикла $ .foreach, последовательность отличается.
self.RecordCollection = oj.Collection.extend({
fetchSize: (self.selectedPageSize || 20),
url: self.getQueryURL,
model: self.reportDataModel,
parse: function(response) {
$.each(response.items, function(idx, elems) {
//Some code goes here to convert key value pair to array
}
}
})
Последовательность в пользовательском интерфейсе после этого foreach выглядит примерно так:
{
"items": {
"9": [{
"hostCount": 1
}],
"10": [{
"hostCount": 8
}],
"11": [{
"hostCount": 1
}],
"12": [{
"hostCount": 1
}],
"1.7.0": [{
"hostCount": 1
}],
"1.8.0": [{
"hostCount": 1
}],
"9.0": [{
"hostCount": 1
}],
"10.0": [{
"hostCount": 1
}],
"11.0": [{
"hostCount": 1
}]
},
"totalResults": 9,
"links": null
}
Я использую среду Oracle JET в пользовательском интерфейсе.Сортировка, отображаемая в пользовательском интерфейсе, в этом случае имеет большое значение.
Пожалуйста, помогите мне понять, в какой момент этот порядок сортировки испорчен.
Отредактировано: Кроме того, если я попытаюсь распечататьОтвет в консоли на пользовательском интерфейсе выглядит хорошо в расширенном представлении (то же самое, что возвращается API).Но консолидированный JSON показывает неправильную последовательность, и эта последовательность имеет приоритет при итерации.