我想了解 JSONObject 的原因和/或核心逻辑是无序集。因为在我的大多数情况下,都会有一个请求需要按照时间/位置的顺序作为 JSONObject 响应。经过搜索,我发现很多成员告诉使用 JSONArray,我觉得这不是一个好的解决方案。
在继续进行之前,我想有一个清晰的想法。
先感谢您。
如果 JavaScript 规定了对象属性的顺序,它将排除在其实现中使用哈希表。另一方面,为什么首先要对对象的属性进行排序?正如我们所见,这似乎是一种任意约束,具有深远的负面影响。
真正的、完整的原因只有最终确定 ECMAScript 规范的 ECMA 委员会的成员才知道,因为 JSONObjects 是 JavaScript Objects 的子集;但是,这是我的猜测。
要求 JSON 对象的属性保持固定顺序可能会给数据结构增加额外的实现开销,否则如果没有该要求,数据结构会更简单。例如,一个 JSON 对象可以实现为一个简单的哈希表;但是,如果属性的顺序保持固定,则需要一个额外的数据结构来列出它们的顺序。