Ответ 1
Мой вопрос в том, действительно ли порядок объекта JSON имеет значение на стороне сервера?
Значение не должно. Согласно спецификации JSON порядок атрибутов не имеет значения.
К сожалению, есть nitwits out 1 которые игнорируют этот аспект спецификации и придают некоторое значение порядку атрибутов. (Ошибка, как правило, возникает, когда есть разрыв между людьми, определяющими API-интерфейсы и теми, кто их реализует, и люди, выполняющие работу по спецификации, на самом деле не понимают JSON.)
К счастью, есть вероятность, что тот, кто проектировал/реализовал сервер, не допустил этой ошибки. Все парсеры Java JSON, с которыми я столкнулся, не сохраняют порядок атрибутов при разборе по умолчанию. Было бы сложно случайно реализовать сервер, где порядок обработанных атрибутов JSON был значительным.
Если да, как я могу изменить порядок?
С трудом я боюсь:
- Вы можете создать JSON вручную.
- Существует хотя бы один JSON для реализации java 2 который позволяет вам предоставить объект
Map
, который содержит атрибуты объекта JSON. Если вы используетеLinkedHashMap
илиTreeMap
, он должен сохранить порядок вставки или лексический порядок ключей атрибутов.
1 - Например, nitwits, над которым работал этот слабый разработчик... fooobar.com/questions/89713/...
2 - JSON-simple: https://code.google.com/p/json-simple/. Могут быть и другие.