То, что говорит Клетус, верно, но, по моему опыту, большинство браузеров будут поддерживать порядок. При этом вы должны рассмотреть возможность использования Array
. Если вам нужно отсортировать его, как только вы получите его на стороне клиента, просто используйте функцию .sort()
в JavaScript:
rows.sort(function(a, b) {
return a.row_id - b.row_id;
}
Хотя кажется, что это работает, на порядок свойств объекта нельзя рассчитывать. Смотрите много комментариев ниже для получения дополнительной информации (умнее, чем у меня). Тем не менее, это был код, который я использовал для проверки поведения в моем собственном ограниченном тестировании:
var test = {
one: 'blah',
two: 'foo',
another: 'bar'
};
for (prop in test) {
document.write(prop + "<br />");
}
Печать (в Firefox 3.6.3 и Chrome 5.0.375.9):
one
two
another
Кроме того, вы можете быть уверены, что вы получаете требуемый тип кодировки JSON из json_encode()
, например, объект (использует фигурные скобки {}
), а не массив ([]
) брекеты). Возможно, вам придется передать JSON_FORCE_OBJECT
на json_encode()
, чтобы форсировать его.
- Отредактировано, чтобы уточнить, что подход
Array
предпочтителен)
- Отредактировано снова (извините), так как я пропустил комментарий pcorcoran, в котором есть ссылка на проблему в трекере проблем Chromium по этому поводу. Достаточно сказать, что порядок свойств объекта не надежный.