Hello! 欢迎来到小浪资源网!


JSON序列化结果顺序不一致,如何保证数据顺序?


JSON序列化结果顺序不一致,如何保证数据顺序?

JSON 格式中元素顺序问题

在编写代码时,遇到 json 序列化的结果顺序与预期不一致的问题。

具体表现为:

  • 数据库查询结果的顺序为:17冬首次快单订货、17冬2次订货、18春正单订货。
  • API 返回的 JSON 格式也是如此。
  • 然而,通过 ajax 请求后,JSON 中元素的顺序却变成了:17冬2次订货、17冬首次快单订货、18春正单订货。

由于需要按照数据库查询结果的顺序,因此需要解决这个问题。

解决方案

JSON 中的 key-value 并不保证顺序。如果需要维护顺序,可以考虑将数据存放在数组中。

在 API 返回时,如果是文本格式,可以按照所需的顺序排列字符串。但如果已经转换为对象,则对象中的 key 顺序无法维持,需要另外的数据结构来保存顺序,例如数组。

相关阅读